2016-08-08 97 views
-1

Ich übertrage sehr große Dateien mit rsync oder scp. Es gibt Zeiten, wenn die Übertragung abgebrochen wird, also muss ich es überwachen und es manuell fortsetzen. Kannst du mir helfen, ein Skript zu schreiben, das eine abgebrochene oder abgeschlossene Dateiübertragung wiederaufnimmt, aber die Dateien (Quelle und Ziel) nicht die gleiche Größe haben (in diesem Fall wird die Übertragung von Anfang an neu gestartet - zuerst wird sie entfernt) die Zieldatei und die Übertragung wird neu gestartet). eine Sache zu erwähnen ist, dass, wenn ich auf dem Quellserver muss ich schließen Sie ein Passwort zur Verfügung zu stellen, so möchte ich das Passwort ein Parameter des SkriptsFortsetzen Dateiübertragung, wenn abgebrochen

Antwort

2

Sie benötigen -P und --partial Optionen.

Aus der Manpage:

--partial By default, rsync will delete any partially transferred file if the transfer 
     is interrupted. In some circumstances it is more desirable to keep partially 
     transferred files. Using the --partial option tells rsync to keep the partial 
     file which should make a subsequent transfer of the rest of the file much faster. 

    -P  The -P option is equivalent to --partial --progress. Its pur- 
     pose is to make it much easier to specify these two options for 
     a long transfer that may be interrupted. 

Also, wenn Sie (CONtINU Synchronisierung) Verzeichnisse synchronisieren möchten:

Sie finden einige zusätzliche Infos hier:

Um es automatisch wieder, es ist nur in einer Schleife ausgeführt:

RETRY_IN=5 
while rsync -azvvP /home/path/folder1/ /home/path/folder2 
do 
    echo "Retrying in ${RETRY_IN} sec" 
    sleep "${RETRY_IN}" 
done 
+0

OK. Wie kann ich RSYNC oder SCP automatisch die Übertragung fortsetzen (in der Übertragung wurde nicht vom Benutzer abgebrochen)? –

+0

@MichaelNathanSellers: Starten Sie einfach in einer Schleife. Siehe mein Update –