LAN上に2つのLinuxボックスがある場合、それらの間でファイルを転送する最も簡単な方法は何ですか?
LAN上に2つの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に1行を追加して、NFSまたはCFIS(Samba)によってリモートマシンをマウントしたままにします。
192.168.0.101:/ /mnt/backup nfs rsize=8192,wsize=8192,timeo=14,intr 0 0
次に、rsyncを使用してcrontabに行を追加します。
rsync -av /home/user/sourcedir/ /mnt/backup/destinationdir > /home/user/backup.log
netcatは単純ですが、すべてのバージョンが確実に接続を閉じるわけではありません。
ここに使用に関するスレッドがありますsocat
:
TCPを介したsocatの信頼できるファイル転送
まとめると:
サーバー送信ファイル:
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プログラムを使用することもできます。これを使用すると、LAN経由で2回クリックするか、ファイルを受信者に「ドラッグアンドドロップ」することでファイルを転送できます。受信者(これも実行する必要がありますgiver
)はZeroconfを介して検出されるため、IPを知る必要もありません。これが、Giverの仕組みに関するビデオです。
受信ホストにアカウント(パスワード)がない場合は、woos(web offer one stream)を使用できます:
ファイルまたはディレクトリを要求します...