Atualmente, estou capturando instantaneamente meu NAS baseado em ZFS todas as noites e semanalmente, um processo que me salvou algumas vezes. No entanto, enquanto a criação do instantâneo é automática (do cron), a exclusão de instantâneos antigos ainda é uma tarefa manual. Obviamente, existe o risco de que, se eu for atropelado por um barramento, ou a tarefa manual não for realizada, o NAS ficará sem espaço em disco.
Alguém tem boas maneiras / scripts que eles usam para gerenciar o número de snapshots armazenados em seus sistemas ZFS? Idealmente, eu gostaria de um script que itere através de todos os instantâneos para um determinado sistema de arquivos ZFS e exclua todos, exceto os últimos n instantâneos para esse sistema de arquivos.
Por exemplo, eu tenho dois sistemas de arquivos, um chamado tanke outro chamado sastank. Os instantâneos são nomeados com a data em que foram criados: sastank@AutoD-2011-12-13portanto, um sortcomando simples deve listá-los em ordem. Estou procurando manter as últimas 2 semanas em instantâneos diários tank, mas apenas os últimos dois dias em instantâneos sastank.
sort -rantes dosedcomando.sedparece exibir o final da lista além das 15 primeiras linhas, que na classificação padrão é a mais recente. Virar a lista significa que recebo os instantâneos mais antigos na parte inferior.