#!/bin/bash # rsync options. Add "-nv --progress" for a dry run OPTS="-a --stats --rsh=\"ssh -l USERNAME\" --delete --delete-excluded --delete-after" # IP or name of the NAS system HOST="mynas.home" # target backup path on the NAS TARGETPATH="/home/backup/mbp/" # directories to be included; contains lines in the format # /Users/mike/:mike/ # /Users/Shared/Music/:Music/ INCLUDE="/Users/mike/Backup/include.txt" # exclude patterns, one per line, see "man rsync" for details EXCLUDE="/Users/mike/Backup/exclude.txt" { while IFS=":" read SOURCE TARGET; do rsync $OPTS --exclude-from=$EXCLUDE $SOURCE $HOST:$TARGETPATH$TARGET done; } < $INCLUDE