Yanıtlar:
Tek kelime: rsync
.
Yavaş bir bağlantıdaysanız veya sunucu ağır yük altındaysa, kopyalama için kullanılan aracın darboğaz olmayacağını ve herhangi bir kopyalama yönteminin yine de yavaş olacağını unutmayın.
Bu, yerel bilgisayarınız ile uzak sunucu arasında kopyalama için temel kullanımı sağlamalıdır: http://oreilly.com/pub/h/38
Yerel bilgisayardan uzak bir sunucuya kopyalamak için (elbette yolları, kullanıcı adını ve ana bilgisayar adresini değiştirmeniz gerekir):
rsync -avz -e ssh /path/on/local/computer remoteuser@remotehost.somewhere.example.com:/path/on/server
-a
Arşiv-v
gereksiz sözlerle dolu-z
kompres-e ssh
"SSH tüneli kullan"(İlk yolları değiştirmek, diğer yönde kopyalamak için gelen ikinci olduğu için ):
rsync -avz -e ssh remoteuser@remotehost.somewhere.example.com:/path/on/server /path/on/local/computer
Ancak rsync, işleri aynı sunucuda kopyalamak için bile yararlıdır:
rsync -av /path-to/copy/from /path_to/copy/to
-z
LAN kopyalama veya tek bir makinede kopyalama için kullanmayın ; -z
İnternette kopya olup olmadığını test edin (birçok şeye bağlı olarak biri veya diğeri daha hızlı olabilir).
-e ssh
artık uzak ana bilgisayarlar için varsayılan olduğundan, seçeneği açıkça iletmek gerekli değildir.
Başka bir kelime: scp
scp /path/on/local/computer remoteuser@remotehost.somewhere.example.com:/path/on/server
Tek seferlik fırsatlar için scp kullanışlıdır. Çok fazla dosya varsa, rsync iyi bir fikirdir. Bir bağlantı kesilirse, rsync kaldığı yerden devam edebilir.
Ben rsync sıkıştırma ( -z
) olduğunu biliyordum ve sadece scp de ( -C
) yaptığı öğrendim .
Kurulumunuzda, rsync muhtemelen yeterlidir ... ancak örnek olarak, çok sayıda küçük dosya varsa, dosyaları önce tar, sonra rsync ile tarlamaktan daha hızlı olabilir. Bunun nedeni, dosya küçükse, sahibinin, zaman damgalarının, izinlerin aktarılmasının dosyanın kendisinden daha ağır olmasıdır. Tar tüm bu bilgileri tek bir dosyada birleştirir ve rsync daha büyük blokları kopyalar.
Daha da iyisi, güvenlik gerekmiyorsa tar ve nc kullanın:
Hedefte, alıcı bir arka plan programı hazırlayın, açın ve açın:
nc -l -p 12345 | pigz -d | tar xvf -
Kaynakta, her şeyi katlayın, paralel sıkıştırın ve hedefe gönderin:
tar cvf - ./ | pigz | nc host 12345
-z
gereksiz ek yükü eklediğinden yerel kopyalama seçeneğini dışarıda bıraktığını unutmayın . IMHO, yalnızca-z
yavaş bir ağ bağlantısı üzerinden rsync kullanırken kullanmalısınız. 100Base-T üzerinden büyük miktarda veri kopyalıyorsanız, olmadan da iyi olabilirsiniz-z
. Hızlı bir ağ bağlantısı ile, sıkıştırma kullanarak CPU'nuzu sabitleyebilir ve diğer işlemleri aç bırakabilirsiniz.