Add support for pre- and post-backup commands.

This commit is contained in:
Christoph 2020-06-24 21:48:25 +02:00
parent 2314e71238
commit 52f0e243c2
2 changed files with 65 additions and 0 deletions

View File

@ -70,6 +70,29 @@ ssh_keyfile=$HOME/.ssh/id_dsa
## -
ssh_user=back
## - Commands executed on srcHost befor saving
## -
## - pre_backup_commands=("<USER>#<COMMAND>" ["<USER>#<COMMAND>"] ..)
## -
## - Example:
## - pre_backup_commands=(
## - "www-data#/usr/local/php/bin/php /var/www/cloud-02.oopen.de/htdocs/occ maintenance:mode --on"
## - ...
## - )
pre_backup_commands=()
## - Commands executed on srcHost after saving
## -
## - post_backup_commands=("<USER>#<COMMAND>" ["<USER>#<COMMAND>"] ..)
## -
## - Example:
## - post_backup_commands=(
## - "www-data#/usr/local/php/bin/php /var/www/cloud-02.oopen.de/htdocs/occ maintenance:mode --off"
## - ...
## - )
post_backup_commands=()
## - what to store ?
## -

View File

@ -276,6 +276,27 @@ if [ "$found" = "true" -o "$pgsql_backup" = "true" -o "$mysql_backup" = "true"
export svn_source_base_path svn_gzip
$script_dir/svn_backup.sh
fi
if [[ -n "$pre_backup_commands" ]]; then
echolog "\nGoing to execute pre backup commands.."
for _val in "${pre_backup_commands[@]}" ; do
err_Log=${LOCK_DIR}/svn.err.log
> $err_Log
IFS='#' read -a _val_arr <<< "${_val}"
echolog "\t${_val_arr[0]}: ${_val_arr[1]}"
$ssh ${ssh_user}@${srcHost} "$sudo -u ${_val_arr[0]} ${_val_arr[1]}" > /dev/null 2> $err_Log
if [[ "$?" -ne 0 ]]; then
$(cat "$err_Log")
fi
done
fi
if $mysql_backup ;then
if [[ ${#mysql_credential_args_arr[@]} -gt 0 ]] ; then
@ -328,6 +349,27 @@ if [ "$found" = "true" -o "$pgsql_backup" = "true" -o "$mysql_backup" = "true"
backup_dir=$dir $script_dir/net_mounted_dir_backup.sh
done
fi
if [[ -n "$post_backup_commands" ]]; then
echolog "\nGoing to execute post backup commands.."
for _val in "${post_backup_commands[@]}" ; do
err_Log=${LOCK_DIR}/svn.err.log
> $err_Log
IFS='#' read -a _val_arr <<< "${_val}"
echolog "\t${_val_arr[0]}: ${_val_arr[1]}"
$ssh ${ssh_user}@${srcHost} "$sudo -u ${_val_arr[0]} ${_val_arr[1]}" > /dev/null 2> $err_Log
if [[ "$?" -ne 0 ]]; then
$(cat "$err_Log")
fi
done
fi
fi # if $NO_NEW_BACKUP
end_h=`$date +%H`