snap.rsync.post.zsh (464B)
1 #!/bin/zsh 2 exec 1>&2 3 env | grep RSYNC 4 5 set -x 6 7 [[ $RSYNC_MODULE_NAME != 'snaprep_new' ]] && exit 0 8 9 f=( $RSYNC_MODULE_PATH/.snapshot.[0-9]*(N) ) 10 if (($#f == 0)); then 11 exit 0 12 elif (($#f > 1)); then 13 rm -rf $f || exit $? 14 else 15 ts=${f##*.} 16 d=$RSYNC_MODULE_PATH:h 17 if [[ -a $d/.snapshot.$ts ]]; then 18 rm -rf $f || exit $? 19 else 20 rsync -aA --exclude=/.snapshot.\* --link-dest=$RSYNC_MODULE_PATH/ $RSYNC_MODULE_PATH/ $d/$ts/ || exit $? 21 mv $f $d/ || exit $? 22 fi 23 fi