#!/bin/sh # backup # backs up my important directories to an external harddrive # # Georg Schuster # December 2006 help() { echo "`basename $0` - syncs directories for backup" echo "Usage: `basename $0` -t [-v]" echo " -t : Sync mode, where can be one of the following:" echo " music : Syncs the music folder, no synced deletions" echo " docs : Syncs the whole Documents folder, no synced deletions" echo " mnc : Syncs the mnc folder, no synced deletions" echo " vorlagen : Syncs the vorlagen folder, no synced deletions" echo " all : Syncs the following modes (in given order):" echo " 1. music" echo " 2. docs" echo " 3. mnc" echo " 4. vorlagen" echo " -v : Increase verbosity" exit 3 } syncTarget() { case "$target" in music) src="/Users/georg/Music/iTunes/iTunes Music" dst="/Volumes/Musik" #delete="--delete";; delete="";; docs) src="/Users/georg/Documents" dst="/Volumes/Daten" delete="";; mnc) src="/Users/georg/Documents/MNC" dst="/Volumes/Daten/Documents" #delete="--delete";; delete="";; vorlagen) src="/Users/georg/Documents/Vorlagen" dst="/Volumes/Daten/Documents" #delete="--delete";; delete="";; *) echo "Error: Unknown target \"$target\"." echo "" help;; esac if [ -d "$src" -a -d "$dst" ] then sudo rsync -a$verbose "$src" "$dst" --eahfs $delete --showtogo --update if [ $? -eq 0 ] then echo "" echo "Target \"$target\" done." else echo "" echo "Error on target \"$target\"." fi else echo "Error: One of the paths does not exist. Is the harddrive mounted?" exit 2 fi } help="true" while getopts vt: option do case "$option" in v) verbose="v";; t) target=$OPTARG help="false";; esac done if [ $help = "true" ] then help fi if [ "$target" = all ] then target=music syncTarget target=docs syncTarget target=mnc syncTarget target=vorlagen syncTarget else syncTarget fi