Самый простой способ быстрой передачи файлов между серверами Linux?

Самый простой способ быстрой передачи файлов между серверами Linux?

Мне нужно перенести файлы с одного сервера CentOS на другой. Буду передавать файлы по 5 МБ каждые 10 минут. Не нужно шифрование.

Что такое простой способ быстрой передачи файлов?

Есть ли что-то проще FTP?

Спасибо!

решение1

rsync

Я бы использовал rsync прежде, чем использовать ftp или tftp.

Больше возможностей и (по моему опыту) более надежный перевод.

решение2

tar через ssh — это нормально, но tar через TCP через netcat — это самое низконакладное, что вы можете получить! Если это разовая вещь, попробуйте:

На приемнике:

nc -l -p 8989 | tar x

Об отправителе:

tar cf - /source-path | nc (receiving host ip address) 8989

Если вы собираетесь делать это регулярно, я бы, наверное, использовал rsync.

решение3

Два человека упомянули tar через ssh, но не сказали, как это сделать. Для справки, основная процедура заключается в запуске:

tar cf - files... | ssh remotehost 'cd /destination && tar xvf -'

Или, если вы хотите начать переводы с принимающей стороны:

ssh remotehost 'cd /source && tar cf - files' | tar xvf -

Преимущество такого подхода по сравнению с решением Эвана netcat в том, что все это можно запустить с одного компьютера; вам не нужно координировать два вызова netcat. Если вам нужно, чтобы это работало автоматически, вы можете настроить ключ ssh, который позволяет вам устанавливать соединения без парольной фразы, и использовать этот ключ для этих соединений.

У ssh есть опция -C для сжатия потока данных, или вы можете использовать встроенную возможность сжатия GNU tar:

tar zcf - files... | ssh remotehost 'cd /destination && tar xzvf -'

Rsync — еще один вариант, но его сильная сторона — обновление файлов, которые уже существуют на принимающей стороне. Я обнаружил, что он медленнее, чем scp или tar/ssh, когда использую его для передачи файлов, которые еще не существуют на другом конце.

решение4

Если вам нужно пройти через scp/ssh, мои эксперименты показывают, что самый быстрый шифр, включенный по умолчанию в наши дни, это RC4. Вы указываете шифр через '-c дугачетверо' в вашей команде ssh/scp:

для первоначальной копии:

  • scp -c arcfour -r foo/ desthost:/destdir

для обновлений:

  • rsync -e 'ssh -c arcfour' -r foo/ desthost:/destdir

Связанный контент