Dosyaları bir CentOS sunucusundan diğerine aktarmam gerekiyor. Her 10 dakikada bir 5 MB dosya aktaracağım. Şifrelemeye ihtiyacım yok.
Bu dosyaların hızlı bir şekilde aktarılması için kolay bir yol nedir? FTP'den daha basit bir şey var mı?
Dosyaları bir CentOS sunucusundan diğerine aktarmam gerekiyor. Her 10 dakikada bir 5 MB dosya aktaracağım. Şifrelemeye ihtiyacım yok.
Bu dosyaların hızlı bir şekilde aktarılması için kolay bir yol nedir? FTP'den daha basit bir şey var mı?
Yanıtlar:
Dağıtılmış bir dosya sistemi veya / işi crontab
gerçekleştirmek için kullanmak .scp
rsync
scp = güvenli uzaktan kopya, kimlik doğrulaması ve kimlik doğrulama anahtarını, örneğin şifre olmadan, anahtar doğrulaması için ayarlamanız gerekecektir.
crontab işi:
crontab -e
bunu dosyaya ekle (for):
*/10 * * * * scp me@remote.machine:/remote/path/file /save/to/path
Her şey bir ftp'den daha zorsa, USB flaş çubuğu kullanın !!!
netcat
cat
tel üzerinde sadece ham bayt (ala ) olduğundan daha basittir . ama netcat
diğer tarafta da bir dinlemeye ihtiyacın olacak .. "doğru zamanda" :)
receiver> nc -l -s 0.0.0.0 -p 12345
ve sonra dosyayı
sender> nc receiver 12345 < file
bu, dosyaları bir makineden diğerine aktarmanın en basit yoludur. kimlik doğrulama, şifreleme, ham bayt dışında hiçbir şey yok.
ancak dosyaları ağ üzerinden güvenilir bir şekilde aktarmak için hiçbir şekilde bunu önermeyeceğim. ssh / scp kullanın.
rsync
Gidecek yol olduğunu söyleyebilirim .
Xfer komut dosyasını ftp'den çok daha kolay ve nasıl çalıştığıyla ilgili oldukça zekice (devam ettirme, farklılıklar, vb.). Ayrıca dizini periyodik olarak taramak ve yeni / değiştirilmiş dosyaları yüklemek için ayarlayabilirsiniz, böylece bir crontab atlayabilirsiniz.
Normalde rsync kaygandır, yani ne yaptığını görmek istiyorsanız
Oldukça güzel bir genel bakış / öğretici: http://everythinglinux.org/rsync/
(copy recursively, keep symlinks/users, verbose, checksum)
rsync --progress -avz
/copy/files/*.tar.gz
username@other-server:/destination/folder
Dağıtılmış dosya sistemlerinde ise kulağa karmaşık geliyor . Her iki makineye aynı nfs birimini kolayca monte edebilir misiniz? Sadece biri yazıyorsa, endişelenecek bir şey yok.
Otomatik olmasını ister misiniz?
sshfs, gitmek için iyi bir yoldur, sadece sshfs'i kurun ve çalıştırın
mkdir /mount/point
sshfs user@server:/remote/path /mount/point
ve isteminize şifrenizi girin, ardından uzaktaki yol bilgisayarınızdaki yerel bir dizine benziyor. Elbette uzak ucunda bir ssh-server'a ihtiyacınız olacak. OpenSSH iyi bir alternatif
Başka bir seçenek bir düğümde bir NFS sunucusu kurmak ve onu diğer düğüme bağlamaktır.
Aktarım yalnızca bir mini-httpd
yönlüyse, dosyaları açıklayan bir dizine yayınlayabilir mini-httpd
ve hedefin bunları indirmesine izin veren gibi basit bir HTTP sunucusunu açabilirsiniz wget
. mini-httpd
basit bir HTTP sunucusu düşündüğümde akla gelen ilk şey, ancak daha basit olanları olduğundan eminim (teknik olarak bir web sunucusu kurulumunu yapamaz mısın bash
? basit bir web sunucusu?)
Bu ana bilgisayarda zaten halka açık olmayan bir web sunucunuz varsa, onu yeniden kullanabilirsiniz.
python -m SimpleHTTPServer