1
1
#!/command/with-contenv bash
2
2
3
3
bootstrap_filesystem() {
4
+ if var_true "${DEBUG_BOOTSTRAP_FILESYSTEM}" ; then debug on; fi
4
5
if [ ! -d "${backup_job_filesystem_path}" ]; then
5
6
mkdir -p "${backup_job_filesystem_path}"
6
7
fi
@@ -24,9 +25,11 @@ bootstrap_filesystem() {
24
25
mkdir -p "${TEMP_PATH}"
25
26
fi
26
27
if [ "$(stat -c %U "${TEMP_PATH}")" != "dbbackup" ] ; then chown -R dbbackup:dbbackup "${TEMP_PATH}" ; fi
28
+ if var_true "${DEBUG_BOOTSTRAP_FILESYSTEM}" ; then debug off; fi
27
29
}
28
30
29
31
bootstrap_variables() {
32
+ if var_true "${DEBUG_BOOTSTRAP_VARIABLES}" ; then debug on; fi
30
33
backup_init() {
31
34
backup_instance_number=${1}
32
35
backup_instance_vars=$(mktemp)
@@ -370,9 +373,12 @@ bootstrap_variables() {
370
373
parse_variables) parse_variables "$2" ;;
371
374
upgrade ) upgrade_lonely_variables "$2" ;;
372
375
esac
376
+
377
+ if var_true "${DEBUG_BOOTSTRAP_VARIABLES}" ; then debug off; fi
373
378
}
374
379
375
380
backup_couch() {
381
+ if var_true "${DEBUG_BACKUP_COUCH}" ; then debug on; fi
376
382
prepare_dbbackup
377
383
backup_job_filename=couch_${backup_job_db_name}_${backup_job_db_host#*//}_${now}.txt
378
384
backup_job_filename_base=couch_${backup_job_db_name}_${backup_job_db_host#*//}
@@ -388,9 +394,11 @@ backup_couch() {
388
394
move_dbbackup
389
395
check_exit_code move "${backup_job_filename}"
390
396
post_dbbackup ${backup_job_db_name}
397
+ if var_true "${DEBUG_BACKUP_COUCH}" ; then debug off; fi
391
398
}
392
399
393
400
backup_influx() {
401
+ if var_true "${DEBUG_BACKUP_INFLUX}" ; then debug on; fi
394
402
if [ "${backup_job_db_name,,}" = "all" ] ; then
395
403
write_log debug "Preparing to back up everything"
396
404
db_names=justbackupeverything
@@ -447,9 +455,11 @@ backup_influx() {
447
455
done
448
456
;;
449
457
esac
458
+ if var_true "${DEBUG_BACKUP_INFLUX}" ; then debug off; fi
450
459
}
451
460
452
461
backup_mongo() {
462
+ if var_true "${DEBUG_BACKUP_MONGO}" ; then debug on; fi
453
463
prepare_dbbackup
454
464
if [ "${backup_job_compression,,}" = "none" ] ; then
455
465
backup_job_filename=${dbtype}_${backup_job_db_name,,}_${backup_job_db_host,,}_${now}.archive
@@ -476,9 +486,11 @@ backup_mongo() {
476
486
move_dbbackup
477
487
check_exit_code move "${backup_job_filename}"
478
488
post_dbbackup "${backup_job_db_name}"
489
+ if var_true "${DEBUG_BACKUP_MONGO}" ; then debug off; fi
479
490
}
480
491
481
492
backup_mssql() {
493
+ if var_true "${DEBUG_BACKUP_MSSQL}" ; then debug on; fi
482
494
case "${backup_job_mssql_mode,,}" in
483
495
db|database )
484
496
prepare_dbbackup
@@ -521,9 +533,11 @@ backup_mssql() {
521
533
post_dbbackup "${backup_job_db_name}"
522
534
;;
523
535
esac
536
+ if var_true "${DEBUG_BACKUP_MSSQL}" ; then debug off; fi
524
537
}
525
538
526
539
backup_mysql() {
540
+ if var_true "${DEBUG_BACKUP_MYSQL}" ; then debug on; fi
527
541
if var_true "${backup_job_mysql_events}" ; then
528
542
events="--events"
529
543
fi
@@ -586,9 +600,11 @@ backup_mysql() {
586
600
check_exit_code move "${backup_job_filename}"
587
601
post_dbbackup all
588
602
fi
603
+ if var_true "${DEBUG_BACKUP_MYSQL}" ; then debug off; fi
589
604
}
590
605
591
606
backup_pgsql() {
607
+ if var_true "${DEBUG_BACKUP_PGSQL}" ; then debug on; fi
592
608
backup_pgsql_globals() {
593
609
prepare_dbbackup
594
610
backup_job_filename=pgsql_globals_${backup_job_db_host,,}_${now}.sql
@@ -678,9 +694,11 @@ backup_pgsql() {
678
694
post_dbbackup all
679
695
if var_true "${_postgres_backup_globals}" ; then backup_pgsql_globals; fi
680
696
fi
697
+ if var_true "${DEBUG_BACKUP_PGSQL}" ; then debug on; fi
681
698
}
682
699
683
700
backup_redis() {
701
+ if var_true "${DEBUG_BACKUP_REDIS}" ; then debug on; fi
684
702
prepare_dbbackup
685
703
write_log notice "Dumping Redis - Flushing Redis Cache First"
686
704
backup_job_filename=redis_all_${backup_job_db_host,,}_${now}.rdb
@@ -711,9 +729,11 @@ backup_redis() {
711
729
move_dbbackup
712
730
check_exit_code move "${backup_job_filename}"
713
731
post_dbbackup all
732
+ if var_true "${DEBUG_BACKUP_REDIS}" ; then debug off; fi
714
733
}
715
734
716
735
backup_sqlite3() {
736
+ if var_true "${DEBUG_BACKUP_SQLITE3}" ; then debug on; fi
717
737
prepare_dbbackup
718
738
db=$(basename "${backup_job_db_host}")
719
739
db="${db%.*}"
@@ -732,10 +752,12 @@ backup_sqlite3() {
732
752
move_dbbackup
733
753
check_exit_code move "${backup_job_filename}"
734
754
post_dbbackup "${db}"
755
+ if var_true "${DEBUG_BACKUP_SQLITE3}" ; then debug off; fi
735
756
}
736
757
737
758
check_availability() {
738
- ### Set the Database Type
759
+ if var_true "${DEBUG_CHECK_AVAILABILITY}" ; then debug on; fi
760
+ ### Set the Database Type
739
761
if var_false "${backup_job_skip_availability_check}" ; then
740
762
case "${dbtype}" in
741
763
"couch" )
@@ -834,9 +856,11 @@ check_availability() {
834
856
;;
835
857
esac
836
858
fi
859
+ if var_true "${DEBUG_CHECK_AVAILABILITY}" ; then debug off; fi
837
860
}
838
861
839
862
check_exit_code() {
863
+ if var_true "${DEBUG_CHECK_EXIT_CODE}" ; then debug on; fi
840
864
case "${1}" in
841
865
backup )
842
866
write_log debug "DB Backup exit Code is ${exit_code}"
@@ -875,9 +899,11 @@ check_exit_code() {
875
899
esac
876
900
;;
877
901
esac
902
+ if var_true "${DEBUG_CHECK_EXIT_CODE}" ; then debug off; fi
878
903
}
879
904
880
905
cleanup_old_data() {
906
+ if var_true "${DEBUG_CLEANUP_OLD_DATA}" ; then debug on; fi
881
907
if [ -n "${backup_job_cleanup_time}" ]; then
882
908
if [ "${master_exit_code}" != 1 ]; then
883
909
case "${backup_job_backup_location,,}" in
@@ -913,9 +939,11 @@ cleanup_old_data() {
913
939
write_log error "Skipping Cleaning up old backups because there were errors in backing up"
914
940
fi
915
941
fi
942
+ if var_true "${DEBUG_CLEANUP_OLD_DATA}" ; then debug off; fi
916
943
}
917
944
918
945
compression() {
946
+ if var_true "${DEBUG_COMPRESSION}" ; then debug on; fi
919
947
if var_false "${backup_job_parallel_compression}" ; then
920
948
backup_job_parallel_compression_threads=1
921
949
fi
@@ -979,18 +1007,22 @@ compression() {
979
1007
fi
980
1008
;;
981
1009
esac
1010
+ if var_true "${DEBUG_COMPRESSION}" ; then debug off; fi
982
1011
}
983
1012
984
1013
create_archive() {
1014
+ if var_true "${DEBUG_CREATE_ARCHIVE}" ; then debug on; fi
985
1015
if [ "${exit_code}" = "0" ] ; then
986
1016
write_log notice "Creating archive file of '${backup_job_filename_dir}' with tar ${compression_string}"
987
1017
run_as_user tar cf - "${TEMP_PATH}"/"${backup_job_filename_dir}" | ${dir_compress_cmd} | run_as_user tee "${TEMP_PATH}"/"${backup_job_filename_dir}".tar"${extension}" > /dev/null
988
1018
else
989
1019
write_log error "Skipping creating archive file because backup did not complete successfully"
990
1020
fi
1021
+ if var_true "${DEBUG_CREATE_ARCHIVE}" ; then debug off; fi
991
1022
}
992
1023
993
1024
create_schedulers() {
1025
+ if var_true "${DEBUG_CREATE_SCHEDULERS}" ; then debug on; fi
994
1026
backup() {
995
1027
bootstrap_variables upgrade BACKUP
996
1028
local backup_instances=$(printenv | sort | grep -c "^DB[0-9]._HOST")
@@ -1033,6 +1065,7 @@ EOF
1033
1065
case "${1}" in
1034
1066
backup ) backup ;;
1035
1067
esac
1068
+ if var_true "${DEBUG_CREATE_SCHEDULERS}" ; then debug off; fi
1036
1069
}
1037
1070
1038
1071
ctrl_c() {
@@ -1048,7 +1081,20 @@ db_backup_container_init() {
1048
1081
touch /tmp/.container/db-backup-backups
1049
1082
}
1050
1083
1084
+ debug() {
1085
+ case "${1}" in
1086
+ off)
1087
+ DEBUG_MODE=${OLD_DEBUG_MODE}
1088
+ ;;
1089
+ on)
1090
+ OLD_DEBUG_MODE=${DEBUG_MODE}
1091
+ DEBUG_MODE=TRUE
1092
+ ;;
1093
+ esac
1094
+ }
1095
+
1051
1096
file_encryption() {
1097
+ if var_true "${DEBUG_FILE_ENCRYPTION}" ; then debug on; fi
1052
1098
if var_true "${backup_job_encrypt}" ; then
1053
1099
if [ "${exit_code}" = "0" ] ; then
1054
1100
print_debug "Encrypting"
@@ -1086,9 +1132,11 @@ EOF
1086
1132
write_log error "Skipping encryption because backup did not complete successfully"
1087
1133
fi
1088
1134
fi
1135
+ if var_true "${DEBUG_FILE_ENCRYPTION}" ; then debug off; fi
1089
1136
}
1090
1137
1091
1138
generate_checksum() {
1139
+ if var_true "${DEBUG_GENERATE_CHECKSUM}" ; then debug on; fi
1092
1140
if [ "${exit_code}" = "0" ] ; then
1093
1141
case "${backup_job_checksum,,}" in
1094
1142
"md5" )
@@ -1122,9 +1170,11 @@ EOF
1122
1170
else
1123
1171
write_log error "Skipping Checksum creation because backup did not complete successfully"
1124
1172
fi
1173
+ if var_true "${DEBUG_GENERATE_CHECKSUM}" ; then debug off; fi
1125
1174
}
1126
1175
1127
1176
notify() {
1177
+ if var_true "${DEBUG_NOTIFY}" ; then debug on; fi
1128
1178
notification_custom() {
1129
1179
if [ -n "${NOTIFICATION_SCRIPT}" ] ; then
1130
1180
if var_true "${NOTIFICATION_SCRIPT_SKIP_X_VERIFY}" ; then
@@ -1268,9 +1318,11 @@ EOF
1268
1318
esac
1269
1319
done
1270
1320
fi
1321
+ if var_true "${DEBUG_NOTIFY}" ; then debug off; fi
1271
1322
}
1272
1323
1273
1324
move_dbbackup() {
1325
+ if var_true "${DEBUG_MOVE_DBBACKUP}" ; then debug on; fi
1274
1326
if [ "${exit_code}" = "0" ] ; then
1275
1327
dbbackup_size="$(run_as_user stat -c%s "${TEMP_PATH}"/"${backup_job_filename}")"
1276
1328
dbbackup_date="$(run_as_user date -r "${TEMP_PATH}"/"${backup_job_filename}" +'%s')"
@@ -1361,6 +1413,7 @@ move_dbbackup() {
1361
1413
fi
1362
1414
1363
1415
run_as_user rm -rf "${TEMP_PATH}"/"${backup_job_filename}"
1416
+ if var_true "${DEBUG_MOVE_DBBACKUP}" ; then debug off; fi
1364
1417
}
1365
1418
1366
1419
prepare_dbbackup() {
@@ -1371,6 +1424,7 @@ prepare_dbbackup() {
1371
1424
}
1372
1425
1373
1426
pre_dbbackup() {
1427
+ if var_true "${DEBUG_PRE_DBBACKUP}" ; then debug on; fi
1374
1428
### Pre Script Support
1375
1429
if [ -n "${backup_job_pre_script}" ] ; then
1376
1430
if var_true "${backup_job_pre_script_x_verify}" ; then
@@ -1407,9 +1461,11 @@ pre_dbbackup() {
1407
1461
fi
1408
1462
done
1409
1463
fi
1464
+ if var_true "${DEBUG_PRE_DBBACKUP}" ; then debug off; fi
1410
1465
}
1411
1466
1412
1467
post_dbbackup() {
1468
+ if var_true "${DEBUG_POST_DBBACKUP}" ; then debug on; fi
1413
1469
dbbackup_finish_time=$(run_as_user date +"%s")
1414
1470
dbbackup_total_time=$(run_as_user echo $((dbbackup_finish_time-dbbackup_start_time)))
1415
1471
@@ -1476,9 +1532,11 @@ EOZP
1476
1532
fi
1477
1533
1478
1534
write_log notice "DB Backup for '${1}' time taken: $(echo ${dbbackup_total_time} | awk '{printf "Hours: %d Minutes: %02d Seconds: %02d", $1/3600, ($1/60)%60, $1%60}')"
1535
+ if var_true "${DEBUG_POST_DBBACKUP}" ; then debug on; fi
1479
1536
}
1480
1537
1481
1538
process_limiter() {
1539
+ if var_true "${DEBUG_PROCESS_LIMITER}" ; then debug on; fi
1482
1540
while true ; do
1483
1541
counter=0
1484
1542
process_amount="$(wc -l /tmp/.container/db-backup-backups | awk '{print $1}')"
@@ -1497,6 +1555,7 @@ process_limiter() {
1497
1555
break
1498
1556
fi
1499
1557
done
1558
+ if var_true "${DEBUG_PROCESS_LIMITER}" ; then debug off; fi
1500
1559
}
1501
1560
1502
1561
run_as_user() {
@@ -1545,6 +1604,7 @@ symlink_log () {
1545
1604
}
1546
1605
1547
1606
timer() {
1607
+ if var_true "${DEBUG_TIMER}" ; then debug on; fi
1548
1608
case "${1}" in
1549
1609
backup)
1550
1610
case "${2}" in
@@ -1768,9 +1828,11 @@ timer() {
1768
1828
time_wait=$(( time_future - time_current ))
1769
1829
;;
1770
1830
esac
1831
+ if var_true "${DEBUG_TIMER}" ; then debug off; fi
1771
1832
}
1772
1833
1773
1834
write_log() {
1835
+ if var_true "${DEBUG_WRITE_LOG}" ; then debug on; fi
1774
1836
output_off
1775
1837
local _arg_log_level=${1}
1776
1838
shift 1
@@ -1815,4 +1877,5 @@ write_log() {
1815
1877
1816
1878
print_${_arg_log_level} "${_arg_log_message}"
1817
1879
output_on
1880
+ if var_true "${DEBUG_WRITE_LOG}" ; then debug off; fi
1818
1881
}
0 commit comments