Skip to content

Instantly share code, notes, and snippets.

@fliiiix
Last active August 29, 2015 14:03
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fliiiix/1e5e5c81644790ee2197 to your computer and use it in GitHub Desktop.
Save fliiiix/1e5e5c81644790ee2197 to your computer and use it in GitHub Desktop.
Create FreeBSD tank which can deal with windows filenames
DATE=`date "+%Y-%m-%d_%H-%M-%S"`
#snap teh shot .__.
zfs snapshot -r tank@$DATE
#send it
zfs send -R tank@2014-08-14_22-13-38 | mbuffer -s 128k -m 3G 2>/dev/null | ssh -c arcfour travos "mbuffer -s 128k -m 1G | zfs receive -F tank"
echo "THE end"
#!/usr/local/bin/zsh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
DATE=`date "+%Y-%m-%d_%H-%M-%S"`
echo "start incremetal backup at: $DATE"
LASTSNAPSHOT=`ssh travos "zfs list -t snapshot -o name -s creation -r tank | awk 'END{print}'"`
echo "last snapshot was: $LASTSNAPSHOT"
#snap teh shot .__.
zfs snapshot -r tank@$DATE
echo "haz take a snapshot (tank@$DATE) ready to send"
START=$(date +%s)
#send it
zfs send -R -i $LASTSNAPSHOT tank@$DATE | ssh -c arcfour travos "zfs receive -F tank"
END=$(date +%s)
TIME=$(( $END - $START ))
echo "THE end used time $TIME s"
zpool create -O utf8only=on -O normalization=formD -O casesensitivity=mixed -O aclinherit=passthrough tank raidz ada0 ada1 ada2
#receive side
#sudo zfs allow -u l33tname create,receive,rename,mount,share,send tank
sudo zfs allow -l l33tname create,destroy,snapshot,rollback,clone,promote,rename,mount,send,receive,quota,reservation tank
l33tname@travos:~ % zfs allow tank
---- Permissions on tank ---------------------------------------------
Local permissions:
user l33tname clone,destroy,promote,quota,reservation,rollback,snapshot
Local+Descendent permissions:
user l33tname create,mount,receive,rename,send,share
##full backup
cat backup_full
DATE=`date "+%Y-%m-%d_%H-%M-%S"`
#snap teh shot .__.
#zfs snapshot -r tank@$DATE
#send it
zfs send -R tank@2014-08-14_22-13-38 | mbuffer -s 128k -m 3G 2>/dev/null | ssh -c arcfour travos "mbuffer -s 128k -m 1G | zfs receive -F tank"
echo "THE end"
http://dan.langille.org/2013/07/25/2405/
https://dan.langille.org/2014/05/03/zfs-send-on-freebsd-over-ssh-using-mbuffer/
http://breden.org.uk/2008/05/12/home-fileserver-backups-from-zfs-snapshots/
http://computing.thayer.dartmouth.edu/blog/2012/11/09/zfs-sendreceive-accross-different-transport-mechanisms/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment