Compare commits

...

4 Commits

Author SHA1 Message Date
dave@tiredofit.ca
cccc088b35 Release 4.0.23 - See CHANGELOG.md 2023-11-28 08:05:11 -08:00
dave@tiredofit.ca
4579f4057c Release 4.0.22 - See CHANGELOG.md 2023-11-25 08:50:25 -08:00
dave@tiredofit.ca
cd683648d0 Release 4.0.21 - See CHANGELOG.md 2023-11-22 15:40:38 -08:00
dave@tiredofit.ca
11f55f3d82 Release 4.0.20 - See CHANGELOG.md 2023-11-21 15:18:22 -08:00
3 changed files with 54 additions and 16 deletions

View File

@@ -1,3 +1,28 @@
## 4.0.23 2023-11-28 <dave at tiredofit dot ca>
### Changed
- Resolve issue with custom notification scripts not executing
## 4.0.22 2023-11-25 <dave at tiredofit dot ca>
### Changed
- Move cleanup_old_data routines to happen within backup_ function to properly accomodate for globals, and ALL DB_NAME use cases
## 4.0.21 2023-11-22 <dave at tiredofit dot ca>
### Changed
- Fix for SQLite backups not being cleaned up properly due to a malformed base
## 4.0.20 2023-11-21 <dave at tiredofit dot ca>
### Changed
- Update base image to support S6 Overlay 3.1.6.2 to solve shutdown issues specifically with MODE=MANUAL and MANUAL_RUN_FOREVER=TRUE
- Add some safety nets for Manual scheduling
## 4.0.19 2023-11-20 <dave at tiredofit dot ca>
### Changed

View File

@@ -16,7 +16,7 @@ fi
trap ctrl_c INT
if [[ "${MODE,,}" =~ "standalone" ]] || [ "${1,,}" = "manual" ] || [ "${1,,}" = "now" ]; then
if [[ "${MODE,,}" =~ "standalone" ]] || [ "${MODE,,}" = "manual" ] || [ "${1,,}" = "manual" ] || [ "${1,,}" = "now" ]; then
print_debug "Detected Manual Mode"
persist=false
backup_job_backup_begin=+0
@@ -90,7 +90,6 @@ while true; do
fi
symlink_log
cleanup_old_data
if var_false "${persist}" ; then
print_debug "Exiting due to manual mode"

View File

@@ -482,6 +482,7 @@ backup_couch() {
move_dbbackup
check_exit_code move "${backup_job_filename}"
post_dbbackup ${backup_job_db_name}
cleanup_old_data
}
backup_influx() {
@@ -522,6 +523,7 @@ backup_influx() {
move_dbbackup
check_exit_code move "${backup_job_filename_dir}"
post_dbbackup "${db}"
cleanup_old_data
done
;;
2 )
@@ -550,6 +552,7 @@ backup_influx() {
move_dbbackup
check_exit_code move "${backup_job_filename_dir}"
post_dbbackup "${db}"
cleanup_old_data
done
;;
esac
@@ -586,6 +589,7 @@ backup_mongo() {
move_dbbackup
check_exit_code move "${backup_job_filename}"
post_dbbackup "${backup_job_db_name}"
cleanup_old_data
if var_true "${DEBUG_BACKUP_MONGO}" ; then debug off; fi
}
@@ -614,6 +618,7 @@ backup_mssql() {
move_dbbackup
check_exit_code move "${backup_job_filename}"
post_dbbackup "${backup_job_db_name}"
cleanup_old_data
;;
trn|transaction )
prepare_dbbackup
@@ -636,6 +641,7 @@ backup_mssql() {
move_dbbackup
check_exit_code move "${backup_job_filename}"
post_dbbackup "${backup_job_db_name}"
cleanup_old_data
;;
esac
}
@@ -687,6 +693,7 @@ backup_mysql() {
move_dbbackup
check_exit_code move "${backup_job_filename}"
post_dbbackup "${db}"
cleanup_old_data
done
else
write_log debug "Not splitting database dumps into their own files"
@@ -707,6 +714,7 @@ backup_mysql() {
move_dbbackup
check_exit_code move "${backup_job_filename}"
post_dbbackup all
cleanup_old_data
fi
}
@@ -728,6 +736,7 @@ backup_pgsql() {
move_dbbackup
check_exit_code move "${backup_job_filename}"
post_dbbackup "globals"
cleanup_old_data
}
if var_true "${DEBUG_BACKUP_PGSQL}" ; then debug on; fi
@@ -776,6 +785,7 @@ backup_pgsql() {
move_dbbackup
check_exit_code move "${backup_job_filename}"
post_dbbackup "${db}"
cleanup_old_data
done
if var_true "${_postgres_backup_globals}" ; then backup_pgsql_globals; fi
else
@@ -805,6 +815,7 @@ backup_pgsql() {
move_dbbackup
check_exit_code move "${backup_job_filename}"
post_dbbackup all
cleanup_old_data
if var_true "${_postgres_backup_globals}" ; then backup_pgsql_globals; fi
fi
}
@@ -844,6 +855,7 @@ backup_redis() {
move_dbbackup
check_exit_code move "${backup_job_filename}"
post_dbbackup all
cleanup_old_data
}
backup_sqlite3() {
@@ -851,7 +863,7 @@ backup_sqlite3() {
db=$(basename "${backup_job_db_host}")
db="${db%.*}"
backup_job_filename=sqlite3_${db}_${now}.sqlite3
backup_job_filename_base=sqlite3_${db}.sqlite3
backup_job_filename_base=sqlite3_${db}
pre_dbbackup "${db}"
write_log notice "Dumping sqlite3 database: '${backup_job_db_host}' ${compression_string}"
if var_true "${DEBUG_BACKUP_SQLITE3}" ; then debug on; fi
@@ -872,6 +884,7 @@ backup_sqlite3() {
move_dbbackup
check_exit_code move "${backup_job_filename}"
post_dbbackup "${db}"
cleanup_old_data
}
check_availability() {
@@ -1160,13 +1173,14 @@ create_schedulers() {
instance=$(printf "%02d" $instance)
cp -R /assets/dbbackup/template-dbbackup /etc/services.available/dbbackup-"${instance}"
sed -i "s|{{BACKUP_NUMBER}}|${instance}|g" /etc/services.available/dbbackup-"${instance}"/run
if [ "${MODE,,}" = "manual" ] ; then service_stop dbbackup-"${instance}" ; fi
cat <<EOF >> /usr/bin/backup"${instance}"-now
#!/bin/bash
source /assets/functions/00-container
PROCESS_NAME=db-backup${instance}
print_info "Starting Manual Backup for db-backup${instance}"
/var/run/s6/legacy-services/dbbackup-${instance}/run now
#/var/run/s6/legacy-services/dbbackup-${instance}/run now
/etc/services.available/dbbackup-${instance}/run now
EOF
chmod +x /usr/bin/backup"${instance}"-now
@@ -1176,11 +1190,11 @@ EOF
cat <<EOF > /usr/bin/backup-now
#!/bin/bash
/usr/bin/backup${instance}-now
/usr/bin/backup${instance}-now now
EOF
else
echo "/usr/bin/backup${instance}-now" >> /usr/bin/backup-now
echo "/usr/bin/backup${instance}-now now" >> /usr/bin/backup-now
fi
instance=$(echo "${instance} +1" | bc)
@@ -1337,20 +1351,20 @@ EOF
notify() {
if var_true "${DEBUG_NOTIFY}" ; then debug on; fi
notification_custom() {
if [ -n "${NOTIFICATION_SCRIPT}" ] ; then
if var_true "${NOTIFICATION_SCRIPT_SKIP_X_VERIFY}" ; then
eval "${NOTIFICATION_SCRIPT}" "${1}" "${2}" "${3}" "${4}" "${5}"
if [ -n "${NOTIFICATION_CUSTOM_SCRIPT}" ] ; then
if var_true "${NOTIFICATION_CUSTOM_SCRIPT_SKIP_X_VERIFY}" ; then
eval "${NOTIFICATION_CUSTOM_SCRIPT}" "${1}" "${2}" "${3}" "${4}" "${5}"
else
if [ -x "${NOTIFICATION_SCRIPT}" ] ; then
write_log notice "Found NOTIFICATION_SCRIPT environment variable. Executing '${NOTIFICATION_SCRIPT}"
if [ -x "${NOTIFICATION_CUSTOM_SCRIPT}" ] ; then
write_log notice "Found NOTIFICATION_CUSTOM_SCRIPT environment variable. Executing '${NOTIFICATION_CUSTOM_SCRIPT}"
# script timestamp logfile errorcode subject body
eval "${NOTIFICATION_SCRIPT}" "${1}" "${2}" "${3}" "${4}" "${5}"
eval "${NOTIFICATION_CUSTOM_SCRIPT}" "${1}" "${2}" "${3}" "${4}" "${5}"
else
write_log error "Can't execute NOTIFICATION_SCRIPT environment variable '${NOTIFICATION_SCRIPT}' as its filesystem bit is not executible!"
write_log error "Can't execute NOTIFICATION_CUSTOM_SCRIPT environment variable '${NOTIFICATION_CUSTOM_SCRIPT}' as its filesystem bit is not executible!"
fi
fi
else
print_error "[notifications] No NOTIFICATION_SCRIPT variable set - Skipping sending Custom notifications"
print_error "[notifications] No NOTIFICATION_CUSTOM_SCRIPT variable set - Skipping sending Custom notifications"
fi
}
@@ -1452,7 +1466,7 @@ EOF
# $4 body
if var_true "${ENABLE_NOTIFICATIONS}" ; then
notification_types=$(echo "${NOTIIFICATION_TYPE}" | tr "," "\n")
notification_types=$(echo "${NOTIFICATION_TYPE}" | tr "," "\n")
for notification_type in $notification_types ; do
case "${notification_type,,}" in
"custom" )