Existuje důvod použít scp
místo rsync
? Nevidím žádný důvod pro opětovné použití scp
, rsync
dělá vše, co scp
dělá, s větší bezpečností (může zachovat symlinks atd.).
scp poskytuje metodu podobnou cp pro kopírování souborů z jednoho počítače do vzdáleného počítače přes zabezpečené připojení SSH.
rsync umožňuje synchronizovat vzdálené složky.
Jsou to různé programy a oba mají své využití. scp je vždy bezpečný, zatímco rsync musí cestovat přes SSH, aby byl bezpečný.
Jednou z hlavních věcí (o které si myslím, že nikdo nezmínil) je to, že pokud přenášíte velké množství dat nebo souborů a pokud je přenos z nějakého důvodu odpojen před dokončením, rsync jej vyzvedne tam, kde byl ukončen. Zatímco scp ne.
Používám scp, pokud chci přenést jeden nebo několik souborů nebo adresářů. Jdu do rsync pro data o velikosti více GB.
rsync : Převody delty (pomocí jeho Delta Transfer Algorithm) ) mezi:
scp : Převádí celé soubory mezi:
Shrnutí: scp
umí přenášet soubory mezi dvěma vzdálenými hostiteli, zatímco rsync
nepodporuje.
živatel Chris na Webhosting Talk píše:
rsync
porovnává soubory na každém konci a přenáší pouze změněné části změněných souborů. Při prvním přenosu souborů se chová skoro jakoscp
, ale při druhém přenosu, kde se většina souborů nezmění, bude Push mnohem méně dat nežscp
. Je to také pohodlný způsob, jak restartovat neúspěšné přenosy - stačí znovu vydat stejný příkaz a vyzvedne tam, kde byl předčasně ukončen, zatímcoscp
začne znovu od nuly.
scp
je jednodušší, protože vyžaduje méně argumentů. Zachytil jsem se pomocí scp místo rsync
, pokud převedu pouze jeden soubor. Pravděpodobně jsem jen líný definovat alias k rsync ... ;-)
Kredity na @tomrunia na https://Gist.github.com/KartikTalwar/4393116
rsync -aHAXxv --numeric-ids --delete --progress \
-e "ssh -T -c [email protected] -o Compression=no -x" \
[source_directory] [email protected]:[target_directory]/
Dávejte pozor na --delete
, nepoužívejte jej, pokud chcete uchovávat cizí soubory v cílových adresářích