GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo llamar repetidamente a rsync hasta que los archivos se transfieran correctamente

Solución 1:

Si está sincronizando todo en una sola sincronización, llame a rsync en un ciclo hasta que rsync le proporcione un código de retorno exitoso.

Algo como:

RC=1 
while [[ $RC -ne 0 ]]
do
   rsync -a .....   
   RC=$?
done

Esto hará un bucle, llamando a rsync, hasta que proporcione un código de retorno de 0. Es posible que desee agregar una suspensión allí para evitar que su servidor sea DOS.

Solución 2:

Me encontré con este mismo problema hace un tiempo. Al final, escribí algo similar a la respuesta de David, pero lo modifiqué un poco con reintentos máximos, respondiendo a Ctrl-C y demás:http://blog.iangreenleaf.com/2009/03/rsync-and-retrying- hasta que lo consigamos.html.

Solución 3:

poniéndolo todo junto con sshpass

while ! sshpass -p 'xxxx' rsync --partial --append-verify --progress -a -e 'ssh -p 22' /source/ [email protected]:/dest/; do sleep 5;done

Linux
  1. ¿Cómo puedo excluir archivos de forma predeterminada con rsync?

  2. ¿Razones para que rsync NO transfiera todos los archivos?

  3. Cómo copiar una gran cantidad de archivos rápidamente entre dos servidores

  4. ¿Cómo se encuentra qué archivos ocupan el 80% del espacio en un servidor web Linux?

  5. ¿Archivos específicos de Linux (mv o cp) de una lista de archivos de texto?

Cómo usar rsync para excluir archivos y directorios en la transferencia de datos

Cómo excluir archivos y directorios con Rsync

Cómo transferir archivos con Rsync a través de SSH

Reanudar archivos parcialmente transferidos a través de SSH usando Rsync

Cómo hacer una copia de seguridad de archivos y directorios usando Rsync en Linux

Cómo configurar una copia de seguridad con rsync en Ubuntu 18.04