A linha de comando que você encontrou fornece um ponto de partida razoável. Eu executo o rsync para backups (através do rsnapshot, o que não é realmente relevante porque você estará usando snapshots do ZFS para histórico; comecei a usá-lo antes de começar a usar o ZFS e continuei usando porque ele funciona bem para mim) de parâmetros:
-aAHX --delete --numeric-ids --relative --delete-excluded
mais alguns parâmetros --exclude
para coisas que não quero fazer backup. A principal diferença entre minha configuração e a que você encontrou é provavelmente o uso de -A
( --acls
) e --delete-excluded
( também exclui arquivos excluídos de dirs ).
Como discutimos nos comentários, --inplace
e --no-whole-file
são opções que provavelmente não podem prejudicar o seu caso de uso.
-x
( --one-file-system
) é útil principalmente quando você tem apenas um ou um pequeno número de sistemas de arquivos dos quais deseja fazer backup. (Já que uso extensivamente os sistemas de arquivos ZFS no lado da fonte, eu --exclude
o local de destino do backup.) -x
diz ao rsync para não recorrer a sistemas de arquivos diferentes daqueles listados em sua linha de comando como origens. De uma forma ou de outra, você precisará manter o local de destino fora da ideia de locais de origem do rsync; caso contrário, no primeiro backup você obterá (digamos) / * copiado em / backup /, da próxima vez você obterá / * e como parte desse / backup copiado em / backup, e assim por diante . Isto é o que eu quis dizer quando mencionei nos comentários copiar recursivamente o diretório de destino de backup em si mesmo.
Create snapshot of that directory using
zfs snapshot backup@'date +%Y%m%d'
Você quer fazer isso zfs snapshot backup@$(date +'%Y%m%d')
, obviamente. (Use $()
ou use backticks; não apóstrofos. Prefiro a sintaxe $ (); por um lado, é aninhada.)
Além disso, certifique-se de ter uma estratégia de remoção de instantâneo para quando você começar a ficar com pouco espaço em disco.