f99aq8ove's blog

ZFS で snapshot をローテーションしながら取得していく script

tag: ZFS
04 February 2009

このエントリは 2009-02-04 に書かれました。 内容が古くなっていたり、もはや正しくないこともありますので、十分検証を行ってください。

ZFS で、際限なく延々と snapshot をとるのではなく、古い snapshot は自動で消したいよね、というモチベーション。

そこで、こんな script を書いてみた。(自己の責任にてご利用ください。)

以下のように crontab に書いておくと…

@daily   /root/bin/zfs_snapshot.sh tank days_later   7  recursive
@weekly  /root/bin/zfs_snapshot.sh tank weeks_later  5  recursive
@monthly /root/bin/zfs_snapshot.sh tank months_later 12 recursive
@yearly  /root/bin/zfs_snapshot.sh tank years_later  10 recursive

このような感じで、今日 0days_later だった snapshot が明日には 1days_later … というふうにローテーションしていきます。

tank/usr                                    5.23G   137G  2.64G  /usr
[email protected]_later                           0      -  2.57G  -
[email protected]_later                          0      -  2.57G  -
[email protected]_later                        29.5K      -  2.57G  -
[email protected]_later                        6.22M      -  2.59G  -
[email protected]_later                        6.16M      -  2.59G  -
[email protected]_later                        6.16M      -  2.59G  -

既知の問題

Related Posts