Chcete-li obnovit přerušené kopírování, měli byste použít rsync --append . Z vysvětlení --append na stránce manuálu :
To způsobí, že nástroj rsync aktualizuje soubor připojením dat na konec souboru, cožpředpokládá, že data, která již existují na straně příjemce, jsou totožná se začátkem souboru na straně odesílatele. [...] Znamená
--inplace, [...]
Možnost --inplace dělá rsync (pře)pište obsah cílového souboru přímo; bez --inplace , rsync by:
- vytvořte nový soubor s dočasným názvem,
- zkopírujte do něj aktualizovaný obsah,
- zaměňte jej za cílový soubor a nakonec
- smažte starou kopii cílového souboru.
Normální režim provozu hlavně zabraňuje konfliktům s aplikacemi, které by mohly mít otevřený cílový soubor, a několika dalším nehodám, které jsou řádně uvedeny v rsync manuálová stránka.
Všimněte si, že pokud operace kopírování/aktualizace selže v krocích 1.-3. výše,rsync odstraní dočasný cílový soubor; --partial volba toto chování zakáže a rsync ponechá částečně přenesené dočasné soubory na cílovém souborovém systému. Obnovení operace kopírování jednoho souboru tedy mnoho nezíská, pokud nezavoláte první rsync s --partial nebo--partial-dir (stejný efekt jako --partial , navíc instruuje rsync vytvořit všechny dočasné soubory v určitém adresáři).
Uvědomte si, že --append implikuje --inplace , což samo o sobě implikuje --partial .
-
Pouhým použitím
--partialměli byste způsobitrsyncopustit částečné přenosy a obnovit je v následujících pokusech. -
Pomocí
--appendměli byste způsobitrsyncjak opustit částečné soubory a pokračovat v nich příště. Po převodursyncby měl ověřit pouze kontrolní součet přenášených dat. -
--append-verifyzahrnuje celý soubor do ověření kontrolního součtu, včetně jakékoli části přenesené v předchozím přenosu. -
Buď s
--appendnebo--append-verifyneúspěšné ověření kontrolního součtu by mělo způsobit úplné opětovné odeslání souboru (pomocí--inplace)
Měli byste být schopni obnovit mv nebo cp operace s rsync ale možná budete chtít použít --append-verify možnost pro klid duše.
Všimněte si, že pomocí --append způsobuje rsync kopírovat pouze ty soubory, které mají na přijímači menší velikost než na odesílateli (bez ohledu na časová razítka), nebo v přijímači chybí. Podle dokumentace k této možnosti:
Pokud je třeba přenést soubor a jeho velikost na přijímači je stejná nebo delší než velikost na odesílateli, soubor se přeskočí.
Více informací v manuálové stránce
David Schwartz má pravdu, --partial (nebo lépe -P ) dělá, co chceš. Ověřil jsem to na souboru 37G, který byl zastaven ~8g do něj, přes síť. rsync rychle naskenoval první části části (zobrazuje průběh tak, jak to šlo díky -P ) a poté pokračoval v přenosu na konec částečného souboru.