rsync espelhar arquivos de

rsync espelhar arquivos de

O comando a seguir copia arquivos recursivamente de $MIRROR_SOURCES em relação a $MIRROR_SOURCE para $MIRROR_DEST; mas o sinalizador de exclusão não funciona.

rsync -var --files-from=$MIRROR_SOURCES --delete $MIRROR_SOURCE $MIRROR_DEST

Responder1

Ler--excluircom man rsynccuidado, ênfase minha:

Isso diz ao rsync para excluir arquivos estranhos do lado receptor (aqueles que não estão no lado remetente), masapenas para os diretórios que estão sendo sincronizados. Você deve ter solicitado ao rsync para enviar o diretório inteiro (por exemplo, "dir" ou "dir/") sem usar um curinga para o conteúdo do diretório (por exemplo, "dir/*"), pois o curinga é expandido pelo shell e o rsync obtém assim um solicitação para transferir arquivos individuais, não o diretório pai dos arquivos. Os arquivos excluídos da transferência também serão excluídos da exclusão, a menos que você use a opção --delete-excludedou marque as regras como correspondentes apenas no lado do envio (consulte os modificadores de inclusão/exclusão na seção REGRAS DE FILTRO).

O ponto principal da história é que ele só faz isso para o que você especificou para ser sincronizado e depende se você especificou um curinga ou não, se você não quiser isso, mas quiser que isso aconteça em todos os lugares, então você pode especificar o --delete-excludedbandeira também.

informação relacionada