rsync copia solo archivos nuevos, no hay actualizaciones?

10

Me gustaría usar rsync para copiar archivos de un servidor remoto. me gustaría

  • solo copie archivos del servidor, no expulse ninguno.
  • Copiar archivos que no existen. Si el archivo remoto es más nuevo , no quiero copiarlo
  • Tenerlo automático. Esto me solicita mi contraseña cada vez y me gustaría que cron la ejecute. Entonces, ¿cómo lo ejecuto en un script bash ejecutado por cron?
isaaclw
fuente
Para "tenerlo automático", la --password-fileopción proporcionaría la contraseña al indicador del servidor. El archivo solo debe contener la frase de contraseña en texto sin formato y no permitir que otros usuarios tengan acceso de lectura.
altmas5

Respuestas:

5

Puntos 1 y 2: cómo especificar qué copiar se responde mejor leyendo la página de manual de rsync . En su caso, mire especialmente a - ignorar bandera existente.

Punto 3: este tutorial debería ayudarlo a usar ssh sin contraseña con rsync. Resumen: configure ssh sin contraseña y use '-e ssh' para indicarle a rsync que use ssh en lugar de rsh para conectarse al host remoto.

pjz
fuente
Miré al hombre y no puedo entender qué me permitirá copiar solo archivos nuevos y no actualizarlos.
1

Para la segunda parte, dado que pjz respondió el resto, creo que puede usar el interruptor --no hacer caso para obtener solo archivos nuevos.

De http://www.samba.org/ftp/rsync/rsync.html :

Esto le dice a rsync que omita la actualización de los archivos que ya existen en el destino (esto no ignora los directorios existentes, o no se haría nada). Ver también - existente. Esta opción es una regla de transferencia, no una exclusión, por lo que no afecta los datos que entran en las listas de archivos y, por lo tanto, no afecta las eliminaciones. Simplemente limita los archivos que el receptor solicita que se transfieran.

Esta opción puede ser útil para quienes realizan copias de seguridad utilizando la opción --link-dest cuando necesitan continuar una ejecución de copia de seguridad que se interrumpió. Dado que una ejecución de --link-dest se copia en una nueva jerarquía de directorios (cuando se usa correctamente), el uso de - ignorar existente asegurará que los archivos ya manejados no se modifiquen (lo que evita un cambio en los permisos en el archivos vinculados). Esto significa que esta opción solo está mirando los archivos existentes en la propia jerarquía de destino.

runlevelsix
fuente