]> git.llucax.com Git - software/bacap.git/blobdiff - bacap
Create necessary files for new hosts
[software/bacap.git] / bacap
diff --git a/bacap b/bacap
index 6835b8626f72b27a32a80910b7a40fdce7d9fb85..5b74c5e9a994fd2ea321f1ee4dc34afd4fe53595 100755 (executable)
--- a/bacap
+++ b/bacap
@@ -41,7 +41,7 @@ RSYNC_FLAGS="-aAXHx --numeric-ids --delete"
 RSYNC_VERBOSE_FLAGS="-v --stats"
 
 # rsync remote shell to use
 RSYNC_VERBOSE_FLAGS="-v --stats"
 
 # rsync remote shell to use
-RSYNC_RSH="ssh -c arcfour -o Compression=no -x"
+RSYNC_RSH="ssh"
 
 #_INCLUDE_END_
 
 
 #_INCLUDE_END_
 
@@ -66,8 +66,8 @@ run=
        RSYNC_FLAGS="$RSYNC_FLAGS $RSYNC_VERBOSE_FLAGS"
 [ $DEBUG -eq 1 ] &&
        V=-v
        RSYNC_FLAGS="$RSYNC_FLAGS $RSYNC_VERBOSE_FLAGS"
 [ $DEBUG -eq 1 ] &&
        V=-v
+exec 3>&2
 [ -n "$LOG_FILE" ] &&
 [ -n "$LOG_FILE" ] &&
-       exec 3>&2 &&
        exec 1>>"$LOG_FILE" &&
        exec 2>>"$LOG_FILE"
 
        exec 1>>"$LOG_FILE" &&
        exec 2>>"$LOG_FILE"
 
@@ -103,6 +103,7 @@ do
        source "$host_path/bacaprc" 2>/dev/null
        host=`basename "$host_path"`
        host_backup_path="$BACKUP_PATH/$host"
        source "$host_path/bacaprc" 2>/dev/null
        host=`basename "$host_path"`
        host_backup_path="$BACKUP_PATH/$host"
+       mkdir -p $host_backup_path
        dst="$BACKUP_PATH/$host/$date"
        src=`cat "$host_path/paths"`
        [ "$host" != "$LOCALHOST" ] &&
        dst="$BACKUP_PATH/$host/$date"
        src=`cat "$host_path/paths"`
        [ "$host" != "$LOCALHOST" ] &&
@@ -129,14 +130,12 @@ do
                extra_flags="--exclude-from=$exclude --delete-excluded"
        [ -r "$include" ] &&
                extra_flags="$extra_flags --include-from=$include"
                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..."
        plog "Running rsync..."
-       $run rsync $RSYNC_FLAGS $extra_flags $src "$dst/" ||
+       $run rsync $RSYNC_FLAGS $extra_flags \
+                               --link-dest="$current_dir" $src "$dst/" ||
                ret=$(($ret+1))
        plog "Moving current..."
                ret=$(($ret+1))
        plog "Moving current..."
-       $run rm $V "$current_link" ||
+       $run rm -f $V "$current_link" ||
                ret=$(($ret+1))
        $run ln -s $V "$date" "$current_link" ||
                ret=$(($ret+1))
                ret=$(($ret+1))
        $run ln -s $V "$date" "$current_link" ||
                ret=$(($ret+1))
@@ -152,10 +151,14 @@ plog "========================================================================="
 
 if [ $ret -ne 0 ]
 then
 
 if [ $ret -ne 0 ]
 then
-       pout "There were some errors when running the backup on: $ERROR_HOSTS"
        pout
        pout
-       pout "Please take a look at the log: $LOG_FILE"
+       pout "There were some errors when running the backup on: $ERROR_HOSTS"
        pout
        pout
+       if [ -n "$LOG_FILE" ]
+       then
+               pout "Please take a look at the log: $LOG_FILE"
+               pout
+       fi
 fi
 
 exit $ret
 fi
 
 exit $ret