2012-02-08 13:15:37 +0000 2012-02-08 13:15:37 +0000
29
29

sftp: フォルダに含まれるすべてのファイル、ディレクトリ、サブディレクトリをアップロードします。

マシンAには

/home/a/

マシンBには

/home/b/

マシンBには

フォルダがあります。

sftp fibon82@machineB.com
put /home/a/* /home/b/

のコマンドを試してみましたが、うまくいきません。"非正規ファイル/home/a/a1をスキップしています “というエラーメッセージが出ます。 どのようにしたらput命令を修正できますか?

ありがとう! :)

EDIT:

scpを使って解決しました:

scp -r /home/a/ fibon82@machineB.com:/home/b/

回答 (6)

21
21
21
2014-10-02 20:33:25 +0000

sftpでは、このコマンドはカレントディレクトリのコンテンツを再帰的にリモートのカレントディレクトリにアップロードします。

put -r .

man sftp を参照。

21
21
21
2012-02-08 22:41:19 +0000

sftp と厳密には同等ではありませんが、 rsync は scp と sftp の非常に強力な代替手段で、特にマシン A からマシン B へのコピーを更新する場合、変更されていないファイルはコピーされません。

rsync -zrp /home/a/ user@remote.host.com:/home/b/

-r オプションはファイルを再帰的にコピーするためのもので、-z は転送中に圧縮を有効にし、-p はコピー時にファイルのパーミッション(ファイルの作成、編集など)を保持します。これ以外にも多くのオプションが可能である。

10
10
10
2012-02-08 16:04:32 +0000

scp (セキュアコピー)は、セキュアトンネルを介してファイルを転送するためのLinuxのデファクトです。あなたの場合は、再帰的なスイッチを使用したいでしょう。

scp -r /home/a/ user@remote.host.com:/home/b/
4
4
4
2014-01-04 14:02:14 +0000
put -r /home/a/ /home/b/

を使ってみてください。この記事 ](http://www.tutonics.com/2012/06/secure-file-transfer-using-sftp.html)

0
0
0
2017-10-05 13:53:58 +0000

実際には、put -rで動作するはずです。しかし、destintion フォルダはリモートホスト上に存在している必要があります: 0x2, 0x2, 0x1, 0x1

-1
-1
-1
2014-02-14 10:10:51 +0000

私の場合はrsyncは無理だったので、0x6&を使いました。

mput -rp /home/a/ /home/b/