Created
February 24, 2009 22:12
-
-
Save josephholsten/69828 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# script to backup common files | |
# see also ~/.backupignore, ~/.archiveignore | |
print_usage () { | |
#echo "Usage: ${0##*/} -l" | |
echo "Usage: `basename $0` [-l | -x | -r]" | |
return 0 | |
} | |
generate_manifest () { | |
ls -R /backup > /backup/Manifest | |
} | |
backup_rsync () { | |
rsync $params $verbose $src $dest | |
} | |
case "$1" in | |
"") print_usage; exit $E_PARAM;; | |
# No backup type was given, printing usage and quit | |
"-h" | "--help") print_usage; exit;; | |
# print extended usage information | |
"-v"| "--verbose") | |
verbose="-v";; | |
# turn on rsync verbose flag | |
#"-V") # version information | |
"-l" | "--local") | |
exclusions="$HOME/.backupignore" | |
params="-av --del --exclude-from=$exclusions" | |
src="/Users/joseph/" | |
dest="/backup/joseph/" | |
backup_rsync;; | |
# local backup specified, backup home directory to somewhere on the same hard drive. | |
"-r" | "--remote" ) | |
# destructively backup home | |
params="-rltvz --del" | |
src="/backup/joseph/" | |
dest="joyent:backup/joseph" | |
backup_rsync | |
# safely backup archives and media | |
params="-rltvz --exclude-from=$HOME/.archiveignore" | |
src="/backup/" | |
dest="joyent:backup" | |
backup_rsync;; | |
# remote backup specified, backup from local backup to strongspace remote | |
"-x" | "--external" ) | |
generate_manifest | |
# destructively backup home | |
params="-av --del" | |
src="/backup/joseph/" | |
dest="/Volumes/janice/backup/joseph" | |
# dest="/Volumes/Macintosh\ HD/backup/joseph" | |
backup_rsync | |
# safely backup archives and media | |
params="-av" | |
src="/backup/" | |
dest="/Volumes/janice/backup" | |
# dest="/Volumes/Macintosh\ HD/backup/joseph" | |
backup_rsync;; | |
# remote backup specified, backup from local backup to external harddrive` | |
*) print_usage; exit $E_BADARGS;; | |
# Something unexpected happened! print usage and quit | |
esac |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment