Estoy tratando de configurar la sincronización bidireccional o bidireccional con rsync. En mi caso, solo necesito eliminar los archivos al sincronizar de B a A. Por lo tanto, estaba pensando en ejecutar rsync dos veces de la siguiente manera:
rsync -rtuv ./A/ ./B/
rsync -rtuv --delete ./B/ ./A/
Este problema con esta solución es que cuando ejecuto rsync (B-> A) que sería justo después de ejecutar rsync (AB), cualquier archivo nuevo que se cree entre la sincronización también se eliminará.
¿Hay alguna manera de que pueda especificar una marca de tiempo como condición para que solo elimine el archivo si se creó antes de esta fecha / hora?
Actualizado:
Entiendo que hay una solución al unísono, pero el problema con el unísono se requiere para instalar en ambos extremos. Estoy sincronizando con un servidor remoto y no puedo instalar al unísono en el extremo remoto.
fuente
Respuestas:
Puede probar osync, que está diseñado para esta tarea exactamente. Una vez configuré una secuencia compleja de comandos rsync para hacer el trabajo, pero ahora uso osync.
https://github.com/deajan/osync
Utiliza rsync internamente, por lo que debería ser adecuado para cualquier situación en la que pueda usar rsync.
fuente
rsync
es la herramienta incorrecta para esta tarea, exactamente por las razones que ha encontrado. En cambio, considere usarunison
:La primera vez que ejecute esto, identificará los archivos que están únicamente en
A
, y aquellos que están únicamente enB
. También marcará los que están en ambos lugares y le pedirá que identifique cuál se sobrescribirá.La próxima vez que ejecute esto se copiará cambia de
A
aB
, y tambiénB
aA
, marcar todos los archivos que se han cambiado en los dos lugares para la resolución manual.Hay una serie de indicadores útiles disponibles
unison
que ayudan a automatizar el proceso definiendo supuestos y, por lo tanto, reduciendo el número de preguntas que se le hacen durante la sincronización.fuente
Lo que realmente necesitas es Rclone . Rclone es rsync para almacenamiento en la nube (box, dropbox, nextcloud, ftp, etc.) y almacenamiento local.
fuente