snaprep

git mirror of https://ccx.te2000.cz/bzr/snaprep
git clone https://ccx.te2000.cz/git/snaprep
Log | Files | Refs

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