Мне нужно перенести файлы с одного сервера CentOS на другой. Я буду передавать файлы размером 5 Мб каждые 10 минут. Мне не нужно шифрование.
Что это простой способ для быстрой передачи файлов? Есть что-то проще, чем FTP?
Мне нужно перенести файлы с одного сервера CentOS на другой. Я буду передавать файлы размером 5 Мб каждые 10 минут. Мне не нужно шифрование.
Что это простой способ для быстрой передачи файлов? Есть что-то проще, чем FTP?
распределенная файловая система или используйте crontab
для выполнения scp
/rsync
работа.
scp = безопасная удаленная копия, вам нужно будет настроить файл идентификации и ключ аутентификации для аутентификации ключа i.e без пароля
файл заданий crontab:
crontab -e
вставить в файл (for ):
*/10 * * * * scp me@remote.machine:/remote/path/file /save/to/path
если все сложнее, чем FTP, то используйте USB-стик!!!
netcat
проще, так как это просто сырые байты (ala cat
) по проводу. но вам нужно будет слушать netcat
С другой стороны .. "в нужное время" :)
receiver> nc -l -s 0.0.0.0 -p 12345
и затем вы отправляете файл через
sender> nc receiver 12345 < file
Это самый простой способ передачи файлов с одной машины на другую. нет аутентификации, нет encrytion, ничего, кроме сырых байтов.
но я не рекомендую это каким-либо образом надежно передавать файлы по сети. используйте ssh / scp.
Я бы сказал rsync
- это путь.
гораздо проще сценарий xfer, чем ftp, и довольно умный о том, как он работает (возобновление, различия и т. д.). Вы также можете настроить его на периодическое сканирование самого каталога и загрузку новых/измененных файлов, чтобы пропустить crontab.
обычно rsync скользит, так что если вы хотите увидеть, что он делает вам нужно
довольно хороший обзор/туториал: http://everythinglinux.org/rsync/
(copy recursively, keep symlinks/users, verbose, checksum)
rsync --progress -avz
/copy/files/*.tar.gz
username@other-server:/destination/folder
что касается распределенных файловых систем, то звуки комплекс. Можно ли просто смонтировать один и тот же Том nfs на обеих машинах? Если только один пишет, вам не о чем беспокоиться.
вы хотите, чтобы это было автоматически?
sshfs-хороший способ, если нет, просто установите sshfs и запустите
mkdir /mount/point
sshfs user@server:/remote/path /mount/point
и введите пароль в командной строке, то удаленный путь выглядит как локальный каталог на вашем компьютере. Конечно, на удаленном конце вам понадобится ssh-сервер. OpenSSH-хорошая альтернатива
другой вариант:настройка NFS сервера на одном узле и смонтировать его на другом узле.
если передача только в одном направлении, вы можете развернуть простой HTTP-сервер, такой как mini-httpd
, опубликовать файлы в каталог, который mini-httpd
предоставляет, и пусть пункт назначения загрузить их с wget
. mini-httpd
Это первое, что приходит на ум, когда я думаю о простом HTTP-сервере, но я уверен, что есть более простые (вы не можете технически настроить веб-сервер с помощью bash
? нет ли где-нибудь однострочника Perl, реализующего простой веб-сервер?)
если у вас уже есть веб-сервер на этом хосте, который не доступен для общественности, вы можете использовать его повторно.
wput-это ftp-клиент командной строки, который упрощает загрузку файлов, используя только одну команду:
wput myfile.tar ftp://user:pass@example.com/mydir/
конечно, вы можете сделать то же самое с другой стороны, используя wget/curl и веб-сервер.
другой вариант MidnightCommander
(mc). Если вы выросли с DOS и NortonCommander.
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]