GNU/Linux >> Linux Esercitazione >  >> Linux

Come chiamare ripetutamente rsync finché i file non vengono trasferiti correttamente

Soluzione 1:

Se stai sincronizzando tutto in un'unica sincronizzazione, chiama rsync in un ciclo finché rsync non ti restituisce un codice di ritorno corretto.

Qualcosa come:

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

Questo andrà in loop, chiamando rsync, fino a quando non fornisce un codice di ritorno pari a 0. Potresti voler aggiungere uno sleep lì dentro per evitare di DOSare il tuo server.

Soluzione 2:

Mi sono imbattuto in questo stesso problema qualche tempo fa. Alla fine ho scritto qualcosa di simile alla risposta di David, ma l'ho arricchito un po 'con tentativi massimi, rispondendo a Ctrl-C e simili:http://blog.iangreenleaf.com/2009/03/rsync-and-retrying- fino a quando non lo avremo.html.

Soluzione 3:

mettendo tutto insieme 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. Come silenziare selettivamente Rsync?

  2. Come posso escludere i file per impostazione predefinita con rsync?

  3. Motivi per cui rsync NON trasferisce tutti i file?

  4. File specifici di Linux (mv o cp) da un elenco di file di testo?

  5. SCP trasferisce solo i file modificati

Come utilizzare rsync per escludere file e directory nel trasferimento di dati

Come escludere file e directory con Rsync

Come trasferire file con Rsync su SSH

Riprendi i file parzialmente trasferiti su SSH utilizzando Rsync

Come eseguire il backup di file e directory utilizzando Rsync in Linux

Come configurare un backup con rsync su Ubuntu 18.04