GNU/Linux >> Znalost Linux >  >> Linux

Jak rychle zkopírovat velké množství souborů mezi dvěma servery

Řešení 1:

Doporučil bych tar. Když jsou stromy souborů již podobné, rsync funguje velmi studna. Protože však rsync provede několik analýz každého souboru a poté zkopíruje změny, je mnohem pomalejší než tar pro počáteční kopii. Tento příkaz pravděpodobně udělá to, co chcete. Zkopíruje soubory mezi počítači a zachová jak oprávnění, tak vlastnictví uživatelů/skupin.

tar -c /path/to/dir | ssh remote_server 'tar -xvf - -C /absolute/path/to/remotedir'

Podle Mackintoshova komentáře níže je to příkaz, který byste použili pro rsync

rsync -avW -e ssh /path/to/dir/ remote_server:/path/to/remotedir

Řešení 2:

Externí pevný disk a doručení kurýrem ve stejný den.

Řešení 3:

Použil bych rsync.

Pokud je exportujete přes HTTP s dostupnými výpisy adresářů, můžete také použít wget a argument --mirror.

Už jste viděli, že HTTP je rychlejší než SCP, protože SCP vše šifruje (a tím brzdí CPU). HTTP a rsync se budou pohybovat rychleji, protože nešifrují.

Zde je několik dokumentů o nastavení rsync na Ubuntu:https://help.ubuntu.com/community/rsync

Tyto dokumenty hovoří o tunelování rsync přes SSH, ale pokud pouze přesouváte data v soukromé síti LAN, nepotřebujete SSH. (Předpokládám, že jste v privátní síti LAN. Pokud přes internet získáváte 9–10 MB/s, chci vědět, jaké máte připojení!)

Zde jsou některé další velmi základní dokumenty, které vám umožní nastavit relativně nezabezpečený server rsync (bez závislosti na SSH):http://transamrit.net/docs/rsync/

Řešení 4:

Bez velkých diskuzí použijte netcat, síťový swissarmy nůž. Žádná protokolová režie, kopírujete přímo do síťového soketu. Příklad

srv1$ tar cfv - *mp3 | nc -w1 remote.server.net 4321

srv2$ nc -l -p 4321 |tar xfv -

Řešení 5:

Se spoustou souborů, pokud použijete rsync, zkusil bych získat verzi 3 nebo vyšší na obou koncích . Důvodem je, že menší verze vyčíslí každý soubor před zahájením přenosu. Nová funkce se nazývá incremental-recursion .

Nový algoritmus inkrementální rekurze se nyní používá, když rsync mluví s jinou verzí 3.x. To zahájí přenos rychleji (než budou nalezeny všechny soubory) a vyžaduje mnohem méně paměti. Některá omezení naleznete u volby --recursive v manuálové stránce.


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

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

  3. Obousměrná synchronizace velkého stromu souborů v reálném čase mezi dvěma vzdálenými linuxovými servery

  1. Jak přenášet soubory mezi dvěma počítači pomocí příkazů nc a pv

  2. Jak rychle přenášet velké soubory přes síť v Linuxu a Unixu

  3. Jak zálohovat soubory crontab -e?

  1. Jak bezpečně kopírovat soubory mezi hostiteli Linuxu pomocí SCP a SFTP

  2. Jak Rsync souborů mezi dvěma dálkovými ovladači?

  3. Jak selektivně umlčet Rsync?