|
@@ -34,6 +34,12 @@ MARIADB_PASSWORD=
|
34
|
34
|
# Used to indicate whether the backup contains MariaDB databases or not
|
35
|
35
|
BACKUP_INCLUDES_DATABASES="no"
|
36
|
36
|
|
|
37
|
+function keep_database_running {
|
|
38
|
+ if [ ! $(daemon_is_running mariadb) ]; then
|
|
39
|
+ systemctl start mariadb
|
|
40
|
+ fi
|
|
41
|
+}
|
|
42
|
+
|
37
|
43
|
function remove_backup_database_local {
|
38
|
44
|
database_name=$1
|
39
|
45
|
|
|
@@ -49,6 +55,15 @@ function backup_database_local {
|
49
|
55
|
database_name=$1
|
50
|
56
|
|
51
|
57
|
backup_databases_script=/usr/bin/backupdatabases
|
|
58
|
+ if ! grep -q "# Check database daemon" /usr/bin/backupdatabases; then
|
|
59
|
+ echo '' >> /usr/bin/backupdatabases
|
|
60
|
+ echo '# Check database daemon is running' >> /usr/bin/backupdatabases
|
|
61
|
+ echo 'if [ ! $(systemctl is-active mariadb >/dev/null 2>&1 && echo Running) ]; then' >> /usr/bin/backupdatabases
|
|
62
|
+ echo ' systemctl start mariadb' >> /usr/bin/backupdatabases
|
|
63
|
+ echo 'fi' >> /usr/bin/backupdatabases
|
|
64
|
+ echo '' >> /usr/bin/backupdatabases
|
|
65
|
+ fi
|
|
66
|
+
|
52
|
67
|
if ! grep -q "# Backup the ${database_name} database" $backup_databases_script; then
|
53
|
68
|
echo "# Backup the ${database_name} database" >> $backup_databases_script
|
54
|
69
|
echo "TEMPFILE=/root/${database_name}.sql" >> $backup_databases_script
|
|
@@ -258,6 +273,7 @@ function remove_database {
|
258
|
273
|
echo "drop database ${app_name};
|
259
|
274
|
quit" > $INSTALL_DIR/batch.sql
|
260
|
275
|
chmod 600 $INSTALL_DIR/batch.sql
|
|
276
|
+ keep_database_running
|
261
|
277
|
mysql -u root --password="$MARIADB_PASSWORD" < $INSTALL_DIR/batch.sql
|
262
|
278
|
shred -zu $INSTALL_DIR/batch.sql
|
263
|
279
|
}
|
|
@@ -265,6 +281,7 @@ quit" > $INSTALL_DIR/batch.sql
|
265
|
281
|
function initialise_database {
|
266
|
282
|
database_name=$1
|
267
|
283
|
database_file=$2
|
|
284
|
+ keep_database_running
|
268
|
285
|
mysql -u root --password="$MARIADB_PASSWORD" -D $database_name < $database_file
|
269
|
286
|
if [ ! "$?" = "0" ]; then
|
270
|
287
|
exit 62952
|
|
@@ -274,12 +291,14 @@ function initialise_database {
|
274
|
291
|
function run_query {
|
275
|
292
|
database_name=$1
|
276
|
293
|
database_query=$2
|
|
294
|
+ keep_database_running
|
277
|
295
|
mysql -u root --password="$MARIADB_PASSWORD" -e "$database_query" $database_name
|
278
|
296
|
}
|
279
|
297
|
|
280
|
298
|
function run_query_root {
|
281
|
299
|
database_name=$1
|
282
|
300
|
database_query=$2
|
|
301
|
+ keep_database_running
|
283
|
302
|
mysql -e "$database_query" $database_name
|
284
|
303
|
}
|
285
|
304
|
|
|
@@ -301,6 +320,7 @@ GRANT ALL PRIVILEGES ON ${app_name}.* TO '$app_admin_username@localhost';
|
301
|
320
|
flush privileges;
|
302
|
321
|
quit" > $INSTALL_DIR/batch.sql
|
303
|
322
|
chmod 600 $INSTALL_DIR/batch.sql
|
|
323
|
+ keep_database_running
|
304
|
324
|
mysql -u root --password="$MARIADB_PASSWORD" < $INSTALL_DIR/batch.sql
|
305
|
325
|
shred -zu $INSTALL_DIR/batch.sql
|
306
|
326
|
}
|
|
@@ -308,6 +328,7 @@ quit" > $INSTALL_DIR/batch.sql
|
308
|
328
|
function run_query_with_output {
|
309
|
329
|
database_name=$1
|
310
|
330
|
database_query=$2
|
|
331
|
+ keep_database_running
|
311
|
332
|
output=$(mysql -u root --password="$MARIADB_PASSWORD" << EOF
|
312
|
333
|
use $database_name;
|
313
|
334
|
$database_query
|
|
@@ -325,6 +346,7 @@ function drop_database {
|
325
|
346
|
flush privileges;
|
326
|
347
|
quit" > $INSTALL_DIR/batch.sql
|
327
|
348
|
chmod 600 $INSTALL_DIR/batch.sql
|
|
349
|
+ keep_database_running
|
328
|
350
|
mysql -u root --password="$MARIADB_PASSWORD" < $INSTALL_DIR/batch.sql
|
329
|
351
|
shred -zu $INSTALL_DIR/batch.sql
|
330
|
352
|
}
|