Add support for pre- and post-backup commands.
This commit is contained in:
		| @@ -70,6 +70,29 @@ ssh_keyfile=$HOME/.ssh/id_dsa | |||||||
| ## - | ## - | ||||||
| ssh_user=back | 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 ? | ## - what to store ? | ||||||
| ## - | ## - | ||||||
|  |  | ||||||
|   | |||||||
| @@ -276,6 +276,27 @@ if [ "$found" = "true" -o "$pgsql_backup" = "true"  -o "$mysql_backup" = "true" | |||||||
|          export svn_source_base_path svn_gzip |          export svn_source_base_path svn_gzip | ||||||
|          $script_dir/svn_backup.sh |          $script_dir/svn_backup.sh | ||||||
|       fi |       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_backup ;then | ||||||
|  |  | ||||||
|          if [[ ${#mysql_credential_args_arr[@]} -gt 0 ]] ; 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 |             backup_dir=$dir $script_dir/net_mounted_dir_backup.sh | ||||||
|          done |          done | ||||||
|       fi |       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 |    fi # if $NO_NEW_BACKUP | ||||||
|  |  | ||||||
|    end_h=`$date +%H` |    end_h=`$date +%H` | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user