wok rev 13508

btrfs-progs: add btrfs-snapshot
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sun Oct 14 18:03:37 2012 +0200 (2012-10-14)
parents 9000cde8e23a
children ba3b4a174a88
files btrfs-progs/receipt btrfs-progs/stuff/btrfs-snapshot
line diff
     1.1 --- a/btrfs-progs/receipt	Sun Oct 14 12:11:18 2012 +0200
     1.2 +++ b/btrfs-progs/receipt	Sun Oct 14 18:03:37 2012 +0200
     1.3 @@ -27,6 +27,7 @@
     1.4  {
     1.5  	mkdir -p $fs/usr
     1.6  	cp -a $install/usr/bin $fs/usr
     1.7 +	cp -a $stuff/btrfs-snapshot $fs/usr/bin
     1.8  	# Split mkfs --> btrfs-mkfs
     1.9  	rm $fs/usr/bin/mkfs.btrfs
    1.10  }
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/btrfs-progs/stuff/btrfs-snapshot	Sun Oct 14 18:03:37 2012 +0200
     2.3 @@ -0,0 +1,21 @@
     2.4 +#!/bin/sh
     2.5 +
     2.6 +# Keep last 30 daily snapshot with crontab
     2.7 +#0 0 * * * /usr/bin/btrfs-snapshot 30
     2.8 +
     2.9 +btrfs_list()
    2.10 +{
    2.11 +	awk '/ btrfs / { if (fs[$1] == "") { fs[$1] = $2; print $2 }}' \
    2.12 +		< /proc/mounts
    2.13 +}
    2.14 +
    2.15 +which btrfs > /dev/null && for root in $(btrfs_list) ; do
    2.16 +	dir=${root%/}/.snapshots
    2.17 +	[ -d $dir ] || mkdir $dir
    2.18 +	cd $dir
    2.19 +	i=0
    2.20 +	for s in $(ls -r); do
    2.21 +		[ $((i++)) -ge ${1:-10} ] && btrfs subvolume delete $s
    2.22 +	done
    2.23 +	btrfs subvolume snapshot -r / $(date +%Y%m%d%H%M%S)
    2.24 +done