Skip to content

Instantly share code, notes, and snippets.

@kenners
Last active August 29, 2015 14:04
Show Gist options
  • Save kenners/bc2b1e7c8e7c797d682f to your computer and use it in GitHub Desktop.
Save kenners/bc2b1e7c8e7c797d682f to your computer and use it in GitHub Desktop.
Bandwidth-friendly, automagically resuming rsync wrapper. Use: ./rrsync.sh user@foo.com:~/bar.txt ~/
#!/bin/sh
RSYNC_EXIT_CODE=1
SKIP_COMPRESSION=7z/avi/bz2/deb/gz/iso/jpeg/jpg/mov/mp3/mp4/m4a/m4v/mkv/ogg/rpm/tbz/tgz/z/zip/xz/txz
while [ $RSYNC_EXIT_CODE -ne 0 ];
do
echo `date -u "+%Y-%m-%d %H:%M:%S"` " Resuming rsync. Last exit code=$RSYNC_EXIT_CODE";
rsync -avzchP \
--timeout=120 \
--bwlimit=10 \
--compress-level=9 \
--skip-compress=$SKIP_COMPRESSION \
$1 $2;
RSYNC_EXIT_CODE=$?;
sleep 60;
done
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment