chroot環境のバックアップ

■「home」の「mount --bind」を止めるには、アンマウントとコメントアウト。
 便利だけど、アンマウント時にbusyになるのは避けたい。
 以下ではあっさりマウント解除出来たが。。。

$ mount | grep "/var/local/.*/home type" | awk '{print $3}' | for list in `xargs`;do sudo umount "$list";done
$ sudo sed -i s%"^/home.*/var/local"%"# &"%g /etc/fstab

■tmpとprocのアンマウント。
 およそ2.6GBがターゲット。

$ mount | grep "/var/local/.*/[tp][mr][po]" | awk '{print $3}' | for list in `xargs`;do sudo umount "$list";done
$ sudo du -ks /var/local/* | awk '{sum+=$1;printf "%dM%s\n",$1/1024,$2}END{printf "%dM Total\n",sum/1024}'
536M/var/local/centos5
371M/var/local/centos6
293M/var/local/lenny
548M/var/local/sid
400M/var/local/squeeze
514M/var/local/wheezy
2664M Total

■バックアップ。ファイル数が多いので結構時間が掛かる。
 後はどこか別の環境にコピーして保存しておくなどすれば良い。

$ mkdir ~/chrootbackup
$ cd /var/local
$ for list in *;do sudo tar zcvf "/home/labunix/chrootbackup/${list}_`date '+%Y%m%d'`.tar.gz" "$list";done
$ ls ~/chrootbackup/
centos5_20130313.tar.gz  lenny_20130313.tar.gz  squeeze_20130313.tar.gz
centos6_20130313.tar.gz  sid_20130313.tar.gz    wheezy_20130313.tar.gz
$ du -h chrootbackup/
1.2G    chrootbackup/

■ログインできるように戻す。

$ sudo mount -a
$ mount | grep '/var/local'
proc on /var/local/wheezy/proc type proc (rw)
/tmp on /var/local/wheezy/tmp type none (rw,bind)
proc on /var/local/lenny/proc type proc (rw)
/tmp on /var/local/lenny/tmp type none (rw,bind)
proc on /var/local/squeeze/proc type proc (rw)
/tmp on /var/local/squeeze/tmp type none (rw,bind)
proc on /var/local/sid/proc type proc (rw)
/tmp on /var/local/sid/tmp type none (rw,bind)
proc on /var/local/centos5/proc type proc (rw)
/tmp on /var/local/centos5/tmp type none (rw,bind)
proc on /var/local/centos6/proc type proc (rw)
/tmp on /var/local/centos6/tmp type none (rw,bind)

■ログインチェック

$ schroot -c sid -p
(chroot-sid)labunix@dummyhost:$ exit
exit

■バックアップ時にファイル数が多いと思ったが、
 chroot環境の母艦(?)のSqueezeは単純に考えてファイル数が6chrootシステム分増えることになる。
 「i-node」のチェックを定期に行った方が良いかも知れない。

$ env LANG=C df -i | awk '($5>20 || $5=="IUse%"){print}'
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/sda1             610800  223748  387052   37% /

 パーティションを切る前なら「/var」はパーティションかディスクを分けようとか。。。
 追加可能なディスクがあれば、コピーしてから「/var/local」にマウントするとか。。。