X-Git-Url: https://git.llucax.com/software/bacap.git/blobdiff_plain/39a46f88097147eafc80c9c9cc8e6a182c3e6a7f..c568aad9f659812a95c433c2ca6c8c8bb5ef331e:/bacap diff --git a/bacap b/bacap index dd83d2e..d107b1d 100755 --- a/bacap +++ b/bacap @@ -19,7 +19,7 @@ LOG_FILE= CONFIG_PATH=/etc/bacap/hosts # Name of the local host (so no ssh would be used with this host) -LOCALHOST=localhost +LOCALHOST=$HOSTNAME # Where to put the backups BACKUP_PATH=/backup @@ -90,6 +90,7 @@ plog "=========================================================================" ret=0 for host_path in "$CONFIG_PATH"/* do + saved_ret=$ret # Load default config and override config if correspond load_config source "$host_path/bacaprc" 2>/dev/null @@ -100,13 +101,15 @@ do [ "$host" != "$LOCALHOST" ] && src=`awk "{print \"$host:\"\\$1}" "$host_path/paths"` exclude="$host_path/excludes" + include="$host_path/includes" current_link="$host_backup_path/current" current_dir="$host_backup_path/`readlink \"$current_link\"`" exclude_flags= + include_flags= plog "-----------------------------------------------------------------" plog "Backup for host $host" plog "-----------------------------------------------------------------" - plog "Source: "$src + plog "Source: $src" plog "Destination: $dst" plog "Last: $current_dir" plog @@ -117,18 +120,24 @@ do perror "$host is down, skipping..." && continue [ -r "$exclude" ] && - exclude_flags=" --exclude-from=$exclude --delete-excluded" + extra_flags="--exclude-from=$exclude --delete-excluded" + [ -r "$include" ] && + extra_flags="$extra_flags --include-from=$include" plog "Rotating backup..." $run cp -al $V "$current_dir" "$dst" || ret=$(($ret+1)) plog "Running rsync..." - $run rsync $RSYNC_FLAGS $exclude_flags $src "$dst/" || + $run rsync $RSYNC_FLAGS $extra_flags $src "$dst/" || ret=$(($ret+1)) plog "Moving current..." $run rm $V "$current_link" || ret=$(($ret+1)) $run ln -s $V "$date" "$current_link" || ret=$(($ret+1)) + if [ $ret -ne $saved_ret ] + then + ERROR_HOSTS="$ERROR_HOSTS $host" + fi done plog "=========================================================================" @@ -137,7 +146,7 @@ plog "=========================================================================" if [ $ret -ne 0 ] then - pout 'There were some errors when running the backup.' + pout "There were some errors when running the backup on: $ERROR_HOSTS" pout pout "Please take a look at the log: $LOG_FILE" pout