Estoy trabajando en un rsync
script para la replicación de directorios. Tengo que sincronizar solo archivos o directorios nuevos y modificados, pero no me gusta el hecho de que está copiando archivos o directorios renombrados como un nuevo archivo o directorio, manteniendo los archivos no sincronizados. También he establecido un límite de ancho de banda de 1 MB ya que esto se ejecutará durante el horario laboral. Aquí está mi guión:
rsync -zvru --bwlimit=1024 /mymounts/test1/ /mymounts/test2
¿Cómo puedo mantener sincronizados los archivos y directorios si alguien cambia el nombre de algo, y solo copian archivos nuevos o modificados? Aquí están los archivos en cuestión
ls "/mymounts/test1/some stuff"
new directory newfile1.txt newfile3.txt renamedFile.txt
ls "/mymounts/test2/some stuff"
new directory newfile1.txt newfile2.txt newfile3.txt renamedFile.txt
¿O habría una manera de incluso mover los archivos renombrados a otro directorio
/mymounts/VerControl
?
rsync
artículo básico , FWIW. everythinglinux.org/rsyncEs posible que desee ver la
-y | --fuzzy
opción rsync. Aparte de eso, rsync no tiene forma de rastrear los renombrados, por lo que terminará transfiriendo el archivo renombrado.Desde la página de manual de rsync:
fuente
--fuzzy
, debería considerar acoplarlo--delete-delay
, ya que "rsync por defecto lo hace--delete-before
, eliminando así el archivo base antes de que se pueda copiar / mover" . Fuente: Sonia HamiltonNo puedes
Rsync tiene tres modos,
Sin embargo, estos tres modos tienen dos subcategorías,
Rsync no rastrea qué archivos se renombran, no tiene estado. Considere en su lugar copiar todos los archivos y excluir los que no desea. No puede tener una lista blanca cambiante, puede tener una lista negra.
fuente
date +%Y%m%d%k%M%S
todos modos puedo obtener sufijo =date +%Y%m%d%k%M%S
.ORIGINALSUFFIX?Que yo sepa,Ver la respuesta de artyom .rsync
no puedo reconocer el cambio de nombre de los archivos. Los archivos nuevos deberán transferirse nuevamente.Para eliminar los archivos desaparecidos, asegúrese de usar la
--delete
opción.Además, para duplicar, le recomendaría que use
-a
( archivo ), que alias algunas buenas opciones.Echa un vistazo a los
man 1 rsync
detalles.fuente