Přenos souborů ze serveru na server
Může se stát že potřebujete přenést soubory jednoho severu na druhý.
Existuje několik cest, zde je postup pro několik variant které mohou nastat.
- Potřebujete přenést soubory ze serveru2 (kde nemáte SSH přístup), na server1.
Na serveru1 si nainstalujte Midnight Commander (mc)
yum install mc
A spusťte jej následujícími příkazy:
mc -bas F9 r p
.. toto vám otevře okno pro FTP spojení, zadejte:
/#ftp:uživatel:heslo@server2
Po spojení můžete přesunout obsah z jednoho okna do druhého pomocí klávesy F5.
Přenost touto cestou ovšem nezachová vlastníka souborů z předchozího serveru a navíc přenos trvá velice dlouho. Pokud narazíte na problém s právy, vyskočí vám dialog pro ignorování souboru. Pokud takových souborů je hodně, je to velký problém.
- Potřebujete přenést soubory ze serveru2 (kde máte SSH přístup ale kde není nainstalován program rsync), na server1.
Na serveru1 spusťte příkaz:
scp -r uživatel@server2:/cesta/k/adresáři /cílová/cesta/
Toto vám přenese soubory ze serveru2 na server1. Problém je, že pokud přerušíte přenos, můžete začít znova.
- Potřebujete přenést soubory ze serveru2 (kde máte SSH přístup a kde je nainstalován program rsync), na server1.
Toto je nejjednodušší a nejspolehlivější cesta jak přenést soubory ze serveru na server.
rsync -avz --update --stats --progress --perms -e 'ssh -p 22' username@server2:/cesta/k/adresáři /cílová/cesta/
Toto vám přenese celý /adresář ze serveru2 do /cílová/cesta/ na serveru1, a zachová práva i vlastníka souborů (pokud soubory přenášíte jako root).
Pozor na zvolení cest u příkazu rsync. Rozdíl je pokud zadáte:
rsync /zdrojová/cesta/adresář1 /cílová/cesta/
Výsledkem je že adresář1 je celý zkopírovaný do /cílová/cesta/
rsync /zdrojová/cesta/adresář1/ /cílová/cesta/
Výsledkem je že pouze obsah adresáře1 je zkopírovaný do /cílová/cesta/