From: Alexander Barton Date: Wed, 18 Nov 2015 15:27:34 +0000 (+0100) Subject: First step to support multiple "backup types" X-Git-Url: https://arthur.barton.de/gitweb/?p=backup-script.git;a=commitdiff_plain;h=a3062a04258639c3d27dba00745e421fc8b377ce First step to support multiple "backup types" --- diff --git a/bin/backup-script b/bin/backup-script index 5c07026..5c8ea3f 100755 --- a/bin/backup-script +++ b/bin/backup-script @@ -31,6 +31,7 @@ destinations="" || conf_d="/etc/backup-script.d" pre_exec="" post_exec="" +default_backup_type="rsync" default_source_root="/" default_target="/var/backups" default_user="root" @@ -371,6 +372,7 @@ for f in $sys; do # Set global defaults system="$fname" + backup_type="$default_backup_type" user="$default_user" source_root="$default_source_root" target="$default_target" @@ -538,41 +540,46 @@ for f in $sys; do fi # prepare (remote) command ... - cmd="$rsync --archive" - [ "$compress" -ne 0 ] && cmd="$cmd --compress" - [ "$local" -eq 0 ] && cmd="$cmd --rsh=\"$ssh_cmd\"" - cmd="$cmd --delete --delete-excluded --sparse" - if [ "$VERBOSE" -gt 0 ]; then - [ "$rsync_proto" -ge 31 ] \ - && cmd="$cmd --info=progress2" \ - || cmd="$cmd --progress" - fi - if [ "$source_root" = "$default_source_root" ]; then - for dir in \ - "/dev/**" \ - "/media/**" \ - "/mnt/**" \ - "/net/**" \ - "/proc/**" \ - "/run/**" \ - "/sys/**" \ - "/tmp/**" \ - "/var/cache/apt/**" \ - "/var/log/**" \ - "/var/tmp/**" \ - ; do + if [[ "$backup_type" == "rsync" ]]; then + cmd="$rsync --archive" + [ "$compress" -ne 0 ] && cmd="$cmd --compress" + [ "$local" -eq 0 ] && cmd="$cmd --rsh=\"$ssh_cmd\"" + cmd="$cmd --delete --delete-excluded --sparse" + if [ "$VERBOSE" -gt 0 ]; then + [ "$rsync_proto" -ge 31 ] \ + && cmd="$cmd --info=progress2" \ + || cmd="$cmd --progress" + fi + if [ "$source_root" = "$default_source_root" ]; then + for dir in \ + "/dev/**" \ + "/media/**" \ + "/mnt/**" \ + "/net/**" \ + "/proc/**" \ + "/run/**" \ + "/sys/**" \ + "/tmp/**" \ + "/var/cache/apt/**" \ + "/var/log/**" \ + "/var/tmp/**" \ + ; do + cmd="$cmd --exclude=$dir" + done + fi + [ -n "$exclude_args_add" ] && cmd="$cmd $exclude_args_add" + for dir in $exclude_dirs_add; do cmd="$cmd --exclude=$dir" done - fi - [ -n "$exclude_args_add" ] && cmd="$cmd $exclude_args_add" - for dir in $exclude_dirs_add; do - cmd="$cmd --exclude=$dir" - done - [ -n "$rsync_args_add" ] && cmd="$cmd $rsync_args_add" + [ -n "$rsync_args_add" ] && cmd="$cmd $rsync_args_add" - [ "$local" -eq 0 ] \ - && cmd="$cmd ${user}@${system}:$source_root $sys_target/" \ - || cmd="$cmd $source_root $sys_target/" + [ "$local" -eq 0 ] \ + && cmd="$cmd ${user}@${system}:$source_root $sys_target/" \ + || cmd="$cmd $source_root $sys_target/" + else + echo "Backup type \"$backup_type\" undefined, \"$system\" skipped!" + echo; continue + fi echo "Backing up to \"$sys_target\" ..." echo -n "Start date: "; date