Selaa lähdekoodia

More database backup checks

Bob Mottram 8 vuotta sitten
vanhempi
commit
81b4d3034f
1 muutettua tiedostoa jossa 46 lisäystä ja 19 poistoa
  1. 46
    19
      src/freedombone-utils-backup

+ 46
- 19
src/freedombone-utils-backup Näytä tiedosto

@@ -202,20 +202,31 @@ function backup_database_local {
202 202
     if [ ! -d $USB_MOUNT/backup/${1}data ]; then
203 203
         mkdir -p $USB_MOUNT/backup/${1}data
204 204
     fi
205
-    if [ ! -d /root/temp${1}data ]; then
206
-        mkdir -p /root/temp${1}data
205
+    local_database_dir=/root/temp${1}data
206
+    if [ ! -d ${local_database_dir} ]; then
207
+        mkdir -p ${local_database_dir}
207 208
     fi
208 209
     echo $"Obtaining ${1} database backup"
209
-    mysqldump --lock-tables --password="$DATABASE_PASSWORD" ${1} > /root/temp${1}data/${1}.sql
210
-    if [ ! -s /root/temp${1}data/${1}.sql ]; then
211
-        echo $"${1} database could not be saved"
212
-        shred -zu /root/temp${1}data/*
213
-        rm -rf /root/temp${1}data
210
+    mysqldump --lock-tables --password="$DATABASE_PASSWORD" ${1} > ${local_database_dir}/${1}.sql
211
+    if [ -f ${local_database_dir}/${1}.sql ]; then
212
+        if [ ! -s ${local_database_dir}/${1}.sql ]; then
213
+            echo $"${1} database could not be saved"
214
+            shred -zu ${local_database_dir}/*
215
+            rm -rf ${local_database_dir}
216
+            umount $USB_MOUNT
217
+            rm -rf $USB_MOUNT
218
+            restart_site
219
+            exit 6835872
220
+        fi
221
+    else
222
+        echo $"${1} database could not be dumped"
223
+        rm -rf ${local_database_dir}
214 224
         umount $USB_MOUNT
215 225
         rm -rf $USB_MOUNT
216 226
         restart_site
217
-        exit 6835872
227
+        exit 738653
218 228
     fi
229
+    echo $"Database dump was created for ${1}"
219 230
 }
220 231
 
221 232
 function set_obnam_client_name {
@@ -295,8 +306,13 @@ function restore_directory_from_friend {
295 306
 
296 307
 function backup_database_to_usb {
297 308
     database_name=$1
298
-    backup_database_local $database_name
299
-    backup_directory_to_usb /root/temp${database_name}data ${database_name}data
309
+    local_database_dir=/root/temp${1}data
310
+    backup_database_local ${database_name}
311
+    if [ ! -d ${local_database_dir} ]; then
312
+        echo $"Error backing up ${1} database to ${local_database_dir}"
313
+        exit 62383
314
+    fi
315
+    backup_directory_to_usb ${local_database_dir} ${database_name}data
300 316
 }
301 317
 
302 318
 # after user files have been restored permissions may need to be set
@@ -370,20 +386,31 @@ function backup_database_remote {
370 386
     if [ ! -d $SERVER_DIRECTORY/backup/${1}data ]; then
371 387
         mkdir -p $SERVER_DIRECTORY/backup/${1}data
372 388
     fi
373
-    if [ ! -d /root/temp${1}data ]; then
374
-        mkdir -p /root/temp${1}data
389
+    local_database_dir=/root/temp${1}data
390
+    if [ ! -d ${local_database_dir} ]; then
391
+        mkdir -p ${local_database_dir}
375 392
     fi
376 393
     echo "Obtaining ${1} database backup"
377
-    mysqldump --password=$DATABASE_PASSWORD ${1} > /root/temp${1}data/${1}.sql
378
-    if [ ! -s /root/temp${1}data/${1}.sql ]; then
379
-        echo $"${1} database could not be saved"
380
-        shred -zu /root/temp${1}data/*
381
-        rm -rf /root/temp${1}data
394
+    mysqldump --password=$DATABASE_PASSWORD ${1} > ${local_database_dir}/${1}.sql
395
+    if [ ! -f ${local_database_dir}/${1}.sql ]; then
396
+        if [ ! -s ${local_database_dir}/${1}.sql ]; then
397
+            echo $"${1} database could not be saved"
398
+            shred -zu ${local_database_dir}/*
399
+            rm -rf ${local_database_dir}
400
+            # Send a warning email
401
+            echo $"Unable to export ${1} database" | mail -s $"${PROJECT_NAME} backup to friends" $ADMIN_EMAIL_ADDRESS
402
+            function_check restart_site
403
+            restart_site
404
+            exit 5738
405
+        fi
406
+    else
407
+        echo $"${1} database could not be dumped"
408
+        rm -rf ${local_database_dir}
382 409
         # Send a warning email
383
-        echo $"Unable to export ${1} database" | mail -s $"${PROJECT_NAME} backup to friends" $ADMIN_EMAIL_ADDRESS
410
+        echo $"Unable to dump ${1} database" | mail -s $"${PROJECT_NAME} backup to friends" $ADMIN_EMAIL_ADDRESS
384 411
         function_check restart_site
385 412
         restart_site
386
-        exit 5738
413
+        exit 3687
387 414
     fi
388 415
 }
389 416