現在、毎晩ZFSベースのNASのスナップショットを撮っています。これにより、数回、お尻が救われました。ただし、スナップショットの作成は(cronから)自動で行われますが、古いスナップショットの削除は依然として手動のタスクです。明らかに、バスに衝突したり、手動タスクが実行されなかったりすると、NASのディスク容量が不足するリスクがあります。
ZFSシステムに保存されているスナップショットの数を管理するために使用する良い方法/スクリプトはありますか?理想的には、特定のZFSファイルシステムのすべてのスナップショットを反復処理し、そのファイルシステムの最後のn個を除くすべてのスナップショットを削除するスクリプトが必要です。
たとえば、2つのファイルシステムがあります。1つはを呼び出しtank
、もう1つはを呼び出しsastank
ます。スナップショットには、作成された日付の名前が付けられます。sastank@AutoD-2011-12-13
したがって、簡単なsort
コマンドでスナップショットを順番にリストする必要があります。過去2週間分の毎日のスナップショットをオンtank
にしたいのですが、最後の2日間分のスナップショットのみをオンにしsastank
ます。
sort -r
はsed
コマンドの前に必要だと思います。sed
デフォルトのソートでは最新のものである、最初の15行を超えてリストの下部を出力するようです。リストを反転すると、一番下にある最も古いスナップショットが取得されます。