Saya saat ini snapshotting NAS berbasis ZFS saya setiap malam dan mingguan, sebuah proses yang telah menyelamatkan pantat saya beberapa kali. Namun, sementara pembuatan snapshot bersifat otomatis (dari cron), penghapusan snapshot lama masih merupakan tugas manual. Jelas ada risiko bahwa jika saya tertabrak bus, atau tugas manual tidak dilakukan, NAS akan kehabisan ruang disk.
Adakah yang punya cara / skrip yang baik yang mereka gunakan untuk mengelola jumlah foto yang disimpan di sistem ZFS mereka? Idealnya, saya ingin script yang iterates melalui semua snapshot untuk ZFS diberikan filesystem dan menghapus semua tapi terakhir n snapshot untuk filesystem itu.
Misalnya saya punya dua filesystem, satu dipanggil tank
dan satunya lagi dipanggil sastank
. Snapshots dinamai dengan tanggal pembuatannya: sastank@AutoD-2011-12-13
jadi sort
perintah sederhana harus membuat daftar sesuai urutan. Saya mencari untuk menjaga snapshot harian bernilai 2 minggu terakhir tetap aktif tank
, tetapi hanya snapshot senilai dua hari terakhir sastank
.
sort -r
sebelumsed
perintah.sed
tampaknya menampilkan bagian bawah daftar di luar 15 baris pertama, yang dalam jenis default adalah yang terbaru. Membalik daftar berarti saya mendapatkan snapshot tertua di bagian bawah.