1

私はユーザー A1、パスワード P1 としてマシン A にいて、フォルダー L1 を持っています。リモート マシン B 上のユーザー A2 (P1) のフォルダー L2 との同期を維持したいと考えています。rsync が ftp 経由で機能しないことがわかっているため、A に lftp をインストールしました。

マシン A でスクリプトを作成しました (マシン B にはスクリプトを配置できません)。

REMOTEHOST='B'   #this is machine from which I want files
REMOTEUSER='A2'   #this is user for the machine
REMOTEPASSWORD='P2' #this is password for user of remote machine

#lftp
lftp -f "
open $HOST
user $USER $PASS
mirror L2 L1"

ファイルはコピーされますが、「ソース: ディレクトリです」というメッセージが表示されます

-R フラグを試し、L1 と L2 の最後に / を追加しましたが、うまくいきませんでした。このメッセージを消すにはどうすればよいですか?

4

1 に答える 1

1

だから私はちょうどこれに遭遇しました。代わりに、個々のファイルのダウンロードを許可する lftp へのコマンドであるmgetを使用してみてください...ミラーがこれを処理できないというのはちょっと不自由ですが、「ミラー」の概念はディレクトリのミラーリングを表すと考えられています。

あなたが持っているものに基づく例は次のとおりです。

#lftp
lftp -f "
open $HOST
user $USER $PASS
mget L2 L1"

次のようにワンライナーを実行することもできます。

lftp -u user,pass -e "mget /home/user/coolfile.txt /mnt/raid/; quit" sftp://server.net

mget で覚えておくべきことの 1 つは、並列およびセグメント化されたダウンロード オプションが失われるため、速度が遅くなる可能性があることです。

詳細については、この優れた lftp man ページを参照してください。

于 2014-01-09T01:33:14.370 に答える