freebsd forum
- Userland Programming & Scripting
System Backup
(ZFS) - The FreeBSD Forumsにおいて、ZFSを使ってMySQLのデータを定期的にバックアップする方法が掲載されています。フォーラムに掲載されている本来の質問内容は、 ZFSでインクリメンタルバックアップをとる方法を尋ねているというものなのですが、 掲載されているスクリプトがZFSを使った自動バックアップの方法として興味深く、 わかりやすいサンプルとして参考になります。掲載されているバックアップスクリプトは次のとおりです。 mysqldump -ubackup -ppassword --all-databases --all-tablespace > /data/
temp/ backup. sql geli attach -k /user/ local/ backup/ da0. key /dev/ da0 zpool import backup2 zfs snapshot data/ docs@1 zfs snapshot data/ pics@1 zfs snapshot data/ temp@1 zfs send data/ docs@1 | zfs recv backup2/ docs zfs send data/ pics@1 | zfs recv backup2/ pics zfs send data/ temp@1 | zfs recv backup2/ temp zfs destroy data/ docs@1 zfs destroy data/ pics@1 zfs destroy data/ temp@1 zfs umount backup2/ docs zfs umount backup2/ pics zfs umount backup2/ temp zpool export backup2 geli detach da0. eli MySQLのデータをファイルに書き出し。Geliで暗号化してあるディスクを接続。接続したディスクのプールをインポート。バックアップするデータのある領域
(ZFS) のスナップショットを作成し、 スナップショットをimportしたディスクの領域 (ZFS) へ送信。送信が完了したらスナップショットを削除して、 importしたプールの中身をアンマウントしてからexport。最後にGeliをデタッチして処理完了。 Geliを使ったディスクの暗号化を実施していること、
そこからプールのimportとexportを実施していること、 スナップショットを作成してsendとrecvで転送していることなど、 ZFSを使ったバックアップの基本的な方法として参考になります。 System Backup
(ZFS) ではこのスクリプトを/etc/crontabに登録して毎晩実行するという説明があります。