it-swarm.it

Come posso mettere in pausa / riprendere rsync

Come posso mettere in pausa un rsync in esecuzione?

Prima volta che l'ho fatto Ctrl+C per ucciderlo e usato il -P flag per eseguire nuovamente. È incline a corrompere il trasferimento di file corrente?

La seconda volta metto semplicemente in pausa MacOS (chiudendo il coperchio). Osservando il processo in esecuzione posso vedere 2 (non so perché) con uno stato di 'S'.

Ho provato a usare

kill -SIGCONT

per riprendere il processo, ma non ha alcun effetto.

52
qnoid

Puoi mettere in pausa qualsiasi programma inviandogli un segnale TSTP (educato) o STOP (forzato). Sul terminale hai eseguito rsync in, premendo Ctrl+Z invia TSTP. Riprendi con il comando fg o bg nel terminale o un segnale CONT.

È sicuro terminare un processo rsync ed eseguire nuovamente tutto; continuerà da dove era stato interrotto. Potrebbe essere un po 'inefficiente, in particolare se non hai superato --partial (incluso in -P), perché rsync controllerà nuovamente tutti i file ed elaborerà il file su cui è stato interrotto da zero.

Potrebbero esserci combinazioni insolite di opzioni che porteranno alla sincronizzazione non corretta di alcuni file, forse --inplace con qualcos'altro, ma penso che nessuna singola opzione lo causerà.

Se si scollega il laptop e lo si ricollega da qualche altra parte, potrebbe ottenere un indirizzo IP diverso. Quindi la connessione TCP usata da rsync verrebbe interrotta, quindi dovresti ucciderla e ricominciare. Ciò può accadere anche se sospendi il tuo laptop e il TCP timeout della connessione. Il timeout finirà per filtrare a livello di applicazione, ma può richiedere del tempo. È sicuro premere Ctrl+C ed esegui di nuovo rsync.

Ctrl+Z sospendere e:

$ fg

per continuare, utilizzare

$ jobs

vedere lavori sospesi; bg [number] per metterli in background; fg [number] per metterlo in primo piano.

22
gauteh

Esegui rsync con --partial bandiera. Manterrà quindi i trasferimenti parziali e riprenderà i file parziali all'avvio.

8
bahamat

Le persone qui hanno menzionato l'uso di --partial flag funziona, è necessario menzionare tuttavia che riprende solo quando --append o --append-verify flag viene utilizzato quando si riprende.

--partial crea un file nascosto del file che non ha completato il processo di sincronizzazione, il file viene mantenuto quando si interrompe la sincronizzazione. Continua a completare il file quando si utilizza --append dopo la ripresa, altrimenti quando non si utilizza --append, il file nascosto incompleto viene mantenuto e rimane incompleto.

Conclusione: Puoi semplicemente interrompere rsync --partial utilizzo Ctrl + C se usi rsync --append quando si riprende

(Fonte: Rsync può riprendere dopo essere stato interrotto? recuperato il 5 aprile 2016)

5
Mehdi Nellen