Alternativa de rsync --delete para mover arquivos para outro diretório em vez de excluir

2

Eu uso rsync para fazer backup de discos rígidos grandes em uma máquina remota. Por padrão, rsync não exclui arquivos na máquina remota quando eles não existem mais na máquina local. Isto é útil, porque torna possível recuperar, por exemplo, se eu quiser restaurar um arquivo que foi apagado por engano, e isso também significa que eu não preciso me preocupar sobre rsync'ing um diretório vazio (se o disco drive morre ou não está montado). O problema é que ele ocupa muito espaço em disco no host remoto e também que, se eu precisar restaurar um backup, ele será poluído com esses arquivos excluídos.

A alternativa é rsync --delete , mas isso significa que os arquivos que foram excluídos também serão excluídos na primeira vez que eu executar o backup, e se o ponto de montagem ficar vazio, eu arrisco também a exclusão do backup.

Idealmente, gostaria de ter uma maneira de dizer rsync como --delete , mas, em vez de excluir arquivos, poderia movê-los para uma hierarquia de backup diferente. Dessa forma, eu ainda poderia restaurar esses arquivos se quisesse, e poderia limpar os arquivos maiores na segunda hierarquia para economizar espaço, enquanto a hierarquia de backup principal seria um backup limpo da minha unidade.

Existe uma maneira de imitar esse comportamento? (ou algum comportamento semelhante)

(Eu não tenho espaço em disco suficiente para manter dois backups completos no host remoto. Além disso, eu sei sobre a existência de ferramentas de backup incremental como Backup Borg , mas eu gostaria de uma solução que não dependa de ferramentas pesadas com um formato de armazenamento personalizado. Eu também sou um pouco desconfiado de soluções usando links rígidos, mas eu estou bem com eles se é a melhor opção.)

    
por a3nm 14.02.2017 / 22:01

1 resposta

4

Você pode usar - backup

-b, --backup With this option, preexisting destination files are renamed as each file is transferred or deleted.

em combinação com - backup-dir

--backup-dir=DIR In combination with the --backup option, this tells rsync to store all backups in the specified directory on the receiving side. This can be used for incremental backups.

para manter uma cópia de quaisquer arquivos modificados e removidos em um diretório separado, no lado do recebimento.

Se você quiser manter apenas os arquivos excluídos no backup, poderá limpar separadamente os arquivos atualizados após a sincronização (por exemplo, assim ).

    
por 14.02.2017 / 22:29

Tags