From: Steinar H. Gunderson Date: Wed, 8 Oct 2014 21:49:56 +0000 (+0200) Subject: Be more consistent about ssh and scp options. X-Git-Url: https://git.sesse.net/?p=backup.sh;a=commitdiff_plain;h=fcc343a7f7be5c6f9348b05b7dbdd429d955d4d0 Be more consistent about ssh and scp options. --- diff --git a/backup.sh b/backup.sh index f4ae98b..7fc7ffb 100755 --- a/backup.sh +++ b/backup.sh @@ -90,7 +90,7 @@ backup() # If incremental backup, we need to copy the incremental status to $computer. # If it does not exist, whine a bit and then run date-based instead. if [ -s "$localsnar" ]; then - if ! scp $localsnar $username@$computer:$remotesnar; then + if ! scp $localsnar $username@$computer:$remotesnar >&2; then diemsg "Could not copy .incremental.snar to $computer" fi lastcmd="--listed-incremental=$remotesnar --no-check-device" @@ -118,7 +118,7 @@ backup() # Pipe the stuff over ssh to ourselves, run pee to cat the contents to a # file and build a file list, respectivly. TARFILE=$DATE.tmp - TARCMD="ssh $username@$computer \"nice -n 19 ionice -c3 tar --one-file-system --use-compress-program $compressor -cf - -C $filesystem . $lastcmd \ + TARCMD="ssh -n $username@$computer \"nice -n 19 ionice -c3 tar --one-file-system --use-compress-program $compressor -cf - -C $filesystem . $lastcmd \ --exclude-from=$remotehome/.backup/exclude\" | pee \"cat > $TARFILE\" \"tar tzvf -\"" infomsg "Running $TARCMD" eval $TARCMD > $DATE.idx @@ -127,7 +127,7 @@ backup() # File is >0 in size and neither cat or tar tzvf failed; we assume it worked. if [ "$remotesnar" ]; then - if ! scp $username@$computer:$remotesnar $localsnar.tmp; then + if ! scp $username@$computer:$remotesnar $localsnar.tmp >&2; then diemsg "Could not copy .incremental.snar from $computer" fi fi @@ -146,7 +146,7 @@ backup() chmod 644 *idx 2>/dev/null #everyone can read # Let the remote computer know that we ran a successful backup (for nagios) - ssh $username@$computer touch $filesystem/.lastbackup + ssh -n $username@$computer touch $filesystem/.lastbackup else # Something wrong happened. rm $TARFILE @@ -173,7 +173,7 @@ nonprivbackup() fi TARFILE=$DATE.tmp - TARCMD="ssh $username@$computer \"sudo /usr/local/sbin/output-encrypted-backup $filesystem $lastcmd\"" + TARCMD="ssh -n $username@$computer \"sudo /usr/local/sbin/output-encrypted-backup $filesystem $lastcmd\"" infomsg "Running $TARCMD" eval $TARCMD > $TARFILE @@ -221,7 +221,7 @@ if ! ssh -n -o NumberOfPasswordPrompts=0 $username@$computer /bin/true; then fi # Find the home directory of the backup user -remotehome=`ssh $username@$computer "echo ~"` +remotehome=`ssh -n $username@$computer "echo ~"` if [ -z "$remotehome" ]; then diemsg "Could not expand ~ for user $username" fi @@ -242,12 +242,12 @@ filesystems=`ssh -n $username@$computer "cat /etc/fstab" \ | awk '{ if ( $(NF-1) != "0" ) print $2}' ` # Clean up our dir at this client -if ! ssh $username@$computer "rm -r $remotehome/.backup ; mkdir -m 700 $remotehome/.backup"; then +if ! ssh -n $username@$computer "rm -r $remotehome/.backup ; mkdir -m 700 $remotehome/.backup"; then diemsg "Could not create backup staging area at $computer:$remotehome/.backup" fi # Try to copy $exclude to $computer -if ! scp $exclude $username@$computer:$remotehome/.backup/exclude > /dev/null; then +if ! scp $exclude $username@$computer:$remotehome/.backup/exclude >&2; then diemsg "Could not copy exclude.txt to $computer" fi @@ -264,7 +264,7 @@ if [ -f $confdir/postexec.$computer ]; then fi # Try to run preexec if it exists -if ! ssh $username@$computer "[ ! -f $remotehome/.backup/preexec ] || /bin/bash -x $remotehome/.backup/preexec" >&2; then +if ! ssh -n $username@$computer "[ ! -f $remotehome/.backup/preexec ] || /bin/bash -x $remotehome/.backup/preexec" >&2; then diemsg "Could not run $computer:$remotehome/.backup/preexec" fi @@ -340,7 +340,7 @@ for filesystem in $filesystems; do done # Try to run postexec if it exist -if ! ssh $username@$computer "[ ! -f $remotehome/.backup/postexec ] || /bin/bash -x $remotehome/.backup/postexec" >&2; then +if ! ssh -n $username@$computer "[ ! -f $remotehome/.backup/postexec ] || /bin/bash -x $remotehome/.backup/postexec" >&2; then diemsg "Could not run $computer:$remotehome/.backup/postexec" fi