Me gustaría usar rsync para ...
- eliminar archivos en el lado receptor que también se eliminaron en el lado emisor
- no elimine otros archivos que están en el directorio rsynced en el lado receptor
Por ejemplo, digamos que tengo un directorio local-src
:
ANTES: local-src
localmente contiene ...
a.txt
b.txt
c.txt
mi directorio remoto que me gustaría sincronizar con el contenido de local-src
se llama remote-src
.
ANTES: remote-src
remotamente contiene ...
a.txt
b.txt
c.txt
d.txt
README.md
Digamos que elimino algunos archivos en local-src
:
DESPUÉS DE BORRAR LOCAL: local-src
localmente contiene ...
c.txt
¿Cómo puedo usar rsync para asegurarme de que los archivos eliminados en el origen también se eliminen en el destino, pero sin eliminar otros archivos en el destino? Por ejemplo, me gustaría tener lo siguiente en el destino:
DESPUÉS DE BORRAR LOCAL: de remote-src
forma remota contiene ...
c.txt
d.txt
README.md
Es decir, a.txt
y b.txt
se eliminan de forma remota, así, pero d.txt
y README.txt
se quedan solos.
¿Hay alguna forma de lograr esto con rsync?
EDITAR: El veredicto parece ser que esto podría ser imposible con rsync. Me han preguntado por qué necesito esto, así que para ilustrar mi caso de uso:
Digamos que tengo un servidor web. En ese servidor web, tengo un montón de directorios, digamos que tengo un directorio A
y un public_html
directorio desde el que se sirve mi sitio. Digamos que tengo un proceso automatizado que produce archivos en el directorio A
. Me gustaría sincronizar (o sincronizar usando alguna otra herramienta) los archivos generados o actualizados en A
el public_html
directorio, sin eliminar otros archivos arbitrarios que puedan estar dentro public_html
. Ciertamente no quiero que rsync elimine accidentalmente mi sitio web.
Si rsync no es la herramienta para este trabajo, ¿alguien más sabe cómo puedo hacer esto?
rsync
ya que no hay forma de saber qué archivos ya están en la carpeta remota. Es posible que necesite encontrar otra herramienta.