При наличии двух блоков Linux в локальной сети, какой самый простой способ передачи файлов между ними?
При наличии двух блоков Linux в локальной сети, какой самый простой способ передачи файлов между ними?
Ответы:
Я использую scp
.
scp source desthost:/path/to/dest/.
скопировать с локального компьютера на удаленный компьютер, или
scp srchost:/path/to/file/file .
скопировать с удаленного компьютера на локальный компьютер.
Если имя пользователя не совпадает на удаленном компьютере,
scp user@srchost:/path/to/file/file .
scp
или rsync
для меня.
NFS может быть полезным.
Сетевая файловая система (NFS) позволяет клиентскому узлу осуществлять прозрачный доступ к файлам по сети. Используя NFS, клиентский узел работает с файлами, расположенными на различных серверах и серверных архитектурах, а также в различных операционных системах. Вызовы доступа к файлам на клиенте (например, запросы на чтение) преобразуются в запросы протокола NFS и отправляются в серверную систему по сети.
Вам может потребоваться помощь от администратора Unix, чтобы настроить его в первый раз, но это очень полезно.
Для создания резервных копий я часто использую rsync. Если я хочу сделать резервную копию на удаленной машине, я добавлю строку в / etc / fstab, чтобы удаленная машина была смонтирована с помощью NFS или CFIS (Samba).
192.168.0.101:/ /mnt/backup nfs rsize=8192,wsize=8192,timeo=14,intr 0 0
Затем добавьте строку в мой crontab, используя rsync.
rsync -av /home/user/sourcedir/ /mnt/backup/destinationdir > /home/user/backup.log
Netcat прост, но не все версии надежно закрывают соединение.
Вот тема об использовании socat
:
надежная передача файлов через TCP
Подвести итог:
Сервер, отправляющий файл:
server$ socat -u FILE:test.dat TCP-LISTEN:9876,reuseaddr client$ socat -u TCP:127.0.0.1:9876 OPEN:out.dat,creat
Сервер получает файл:
server$ socat -u TCP-LISTEN:9876,reuseaddr OPEN:out.txt,creat && cat out.txt client$ socat -u FILE:test.txt TCP:127.0.0.1:9876
OPEN:out.txt,creat,trunc
удалит все байтыout.txt
перед записью в него. Эта опция имитирует то, что вы ожидаетеcp
, и, вероятно, то, что вы хотите.OPEN:out.txt,creat,excl
откажется писать,out.txt
если он уже существует. Используйте эту опцию для дополнительной безопасности.OPEN:out.txt,creat,append
добавит данные вout.txt
.
Также вы можете использовать программу Giver . С его помощью вы можете передавать файлы по локальной сети в 2 клика или путем «перетаскивания» файла получателю. Получатели (которые также должны запускаться giver
) обнаруживаются через Zeroconf, поэтому вам не нужно знать даже их IP. Вот видео о том, как работает Giver .
Если у вас нет учетной записи (пароля) на принимающем хосте, вы можете использовать woos (веб-предложение в один поток):
woos file-or-directory ...