Eu gostaria de usar o rsync para ...
- excluir arquivos no lado de recebimento que também foram excluídos no lado de envio
- exclua outros arquivos que estão no diretório rsynced do lado receptor
Por exemplo, digamos que eu tenho um diretório local-src:
ANTES: local-src contém localmente ...
a.txt
b.txt
c.txt
meu diretório remoto que eu gostaria de sincronizar com o conteúdo de local-srcé chamado remote-src.
ANTES: remote-src contém remotamente ...
a.txt
b.txt
c.txt
d.txt
README.md
Digamos que eu exclua alguns arquivos em local-src:
APÓS EXCLUIR LOCAL: local-src contém localmente ...
c.txt
Como posso usar o rsync de forma a garantir que os arquivos excluídos na origem também sejam excluídos no destino, mas sem excluir outros arquivos no destino. Por exemplo, eu gostaria de ter o seguinte no destino:
APÓS DELETE LOCAL: remote-src contém remotamente ...
c.txt
d.txt
README.md
Ou seja, a.txte b.txtestão remotamente apagado bem, mas d.txte README.txtsão deixados sozinhos.
Existe alguma maneira de conseguir isso com o rsync?
EDIT: O veredicto parece ser que isso pode ser impossível com o rsync. Me perguntaram por que preciso disso, para ilustrar meu caso de uso:
Digamos que eu tenho um servidor web. Nesse servidor web, eu tenho vários diretórios, digamos que eu tenho um diretório Ae um public_htmldiretório dos quais meu site é veiculado. Digamos que eu tenho algum processo automatizado que produz arquivos no diretório A. Eu gostaria de rsync (ou sincronização usando alguma outra ferramenta) os arquivos gerados ou atualizados em Aao public_htmldiretório, sem excluir outros arquivos arbitrários que podem estar dentro public_html. Eu certamente não quero que o rsync exclua acidentalmente meu site.
Se o rsync não é a ferramenta para este trabalho, alguém sabe como eu posso fazer isso?
rsyncpois não há como saber quais arquivos já estão na pasta remota. Você pode precisar descobrir outra ferramenta.