Portál AbcLinuxu, 4. května 2025 07:55
Znáte to, kopírujete něco velkého, neodhadnete čas a najednou zjistíte, že musíte zaklapnout notebook a běžet na schůzku. Nebo vypadne připojení k Internetu. Naštěstí to rsync jistí!
Aby bylo jasno, spustili jste tedy přenos třeba takto:
scp komp:/velky_soubor.ext komp_velky_soubor.ext
Tento příkaz byl nějakým způsobem přerušen a vy máte pouze část přenášeného souboru. Pro navázání lze použít:
rsync --partial --progress --rsh=ssh komp:/velky_soubor.ext komp_velky_soubor.ext
Přepínač --partial je klíčový, díky němu přenos naváže. Přepínač --progress je volitelný, ale v interaktivním režimu se hodí, protože uvidíte průběh přenosu. Bez --rsh=ssh by váš přenos nebyl šifrovaný, takže by to bylo oproti scp
nebezpečné.
Běží-li na serveru sshd na jiném než standardním portu (22), potom vám přepínač rsyncu --port nepomůže. Místo toho je třeba jako rsh (tj. remote shell) předat např. "ssh -p 443" (pro port 443). Příkaz by tedy vypadal takto:
rsync --partial --progress --rsh="ssh -p 443" komp:/velky_soubor.ext komp_velky_soubor.ext
Na první pohled se může zdát, že přenos začal odznova, protože se nejprve ukáže 0 dokončených procent, ale neděste se, protože pokud byl skutečně nalezen částečně stažený soubor, je toto v pořádku - před samotným navázáním přenosu se totiž nejprve kontroluje již stažená část, což je poměrně rychlá záležitost (bottleneck je zde harddisk na zdrojovém stroji). Toť vše. Můžete si nastavit třeba alias:
alias scpresume="rsync --partial --progress --rsh=ssh"
Dokument vytvořil: David Watzke, 14.10.2010 15:52 | Poslední úprava: gorgo, 4.12.2010 16:09 | Další přispěvatelé: David Watzke | Historie změn | Zobrazeno: 2558×
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.