Skip to content

Instantly share code, notes, and snippets.

@vanquishregret
Forked from iangreenleaf/rsync-retry.sh
Created April 27, 2017 03:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vanquishregret/725f72b762b4c0d0b77a46bda8f20da5 to your computer and use it in GitHub Desktop.
Save vanquishregret/725f72b762b4c0d0b77a46bda8f20da5 to your computer and use it in GitHub Desktop.
rsync with retries
#!/bin/bash
### ABOUT
### Runs rsync, retrying on errors up to a maximum number of tries.
### Simply edit the rsync line in the script to whatever parameters you need.
# Trap interrupts and exit instead of continuing the loop
trap "echo Exited!; exit;" SIGINT SIGTERM
MAX_RETRIES=50
i=0
# Set the initial return value to failure
false
while [ $? -ne 0 -a $i -lt $MAX_RETRIES ]
do
i=$(($i+1))
rsync -avz --progress --partial -e "ssh -i /home/youngian/my_ssh_key" /mnt/storage/duplicity_backups backupuser@backup.dreamhost.com:.
done
if [ $i -eq $MAX_RETRIES ]
then
echo "Hit maximum number of retries, giving up."
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment