GNU/Linux >> Znalost Linux >  >> Linux

Jak opakovaně volat rsync, dokud se soubory úspěšně nepřenesou

Řešení 1:

Pokud vše synchronizujete v rámci jedné synchronizace, volejte rsync ve smyčce, dokud vám rsync nedá úspěšný návratový kód.

Něco jako:

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

Toto se bude opakovat a volat rsync, dokud neukáže návratový kód 0. Možná budete chtít přidat režim spánku, abyste zabránili DOSování vašeho serveru.

Řešení 2:

Před chvílí jsem narazil na stejný problém. Nakonec jsem napsal něco podobného, ​​jako je Davidova odpověď, ale trochu jsem to ukecal maximálním počtem opakování, reakcí na Ctrl-C a podobně:http://blog.iangreenleaf.com/2009/03/rsync-and-retrying- dokud-ne-dostaneme.html.

Řešení 3:

to vše dohromady pomocí 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. Protokolovat pouze přenesené soubory pomocí Rsync?

  2. Jak selektivně umlčet Rsync?

  3. Jak lze zjistit, které soubory zabírají 80 % místa na linuxovém webovém serveru?

  1. Jak odstranit soubory ._ v adresáři? Ubuntu

  2. Soubory specifické pro Linux (mv nebo cp) z textového seznamu souborů?

  3. SCP přenáší pouze upravené soubory

  1. Jak používat Rsync k synchronizaci nových nebo změněných/upravených souborů v Linuxu

  2. Jak používat příkaz Rsync v linuxu?

  3. Jak mohu vyloučit soubory ve výchozím nastavení pomocí rsync?