rsync --del ou --delete

1

Com base na página de manual:

--delete-during, --del

Request that the file-deletions on the receiving side be done incrementally as the transfer happens. The per-directory delete scan is done right before each directory is checked for updates, so it behaves like a more efficient --delete-before, including doing the deletions prior to any per-directory filter files being updated. This option was first added in rsync version 2.6.4. See --delete (which is implied) for more details on file-deletion.

Há também --delete-before e --delete-after . Eu não entendo exatamente a diferença entre estes e --delete . Quando --delete exclui arquivos, se não antes, durante ou depois?

Os documentos também dizem:

Because of this, the default delete mode when you specify --delete is now --delete-during when both ends of the connection are at least 3.0.0 (use --del or --delete-during to request this improved deletion mode explicitly).

Suponho que isso significa que --del é destinado a superceder --delete . Existe algum motivo para usar --delete over --del ? Poderia usar --del causar problemas em conexões menores que 3.0.0? (Eu suponho que esta é a versão do rsync).

    
por Keith 17.08.2016 / 23:17

1 resposta

3

Com --delete-after , o processo enviará todos os arquivos que precisam ser adicionados / alterados e, quando isso for concluído, todos os arquivos desnecessários serão excluídos. Isso pode ser útil porque significa que o destino sempre tem uma cópia de todos os arquivos; se a transferência for interrompida, nada foi perdido. No entanto, se você estiver transferindo arquivos grandes (por exemplo, backups externos), talvez precise de mais espaço para manter o arquivo antigo e o novo arquivo ao mesmo tempo.

Com --delete-before , o processo excluirá os arquivos antes do início da transferência; isso significa que você não precisa de muito espaço temporário, mas se a transferência for interrompida, talvez você não tenha uma cópia de nenhum arquivo no terminal remoto.

Com --del ou --delete-during , ele excluirá os arquivos em cada diretório à medida que se aproxima deles; é uma casa intermediária entre antes e depois e é mais eficiente; ela sofre parcialmente do "antes", mas é limitada a um diretório (portanto, menos chance de perda de dados).

--delete será o padrão para --delete-during se estiver falando com um servidor 3.0.0 ou superior e --delete-before se estiver falando com uma versão mais antiga. Por isso, recomendo usar apenas --delete , a menos que você tenha necessidades de ajuste específicas.

    
por 18.08.2016 / 02:33

Tags