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

put sftp

マシンAでは、私はフォルダを持っています

/home/a/

マシンBでは、私はフォルダを持っています

/home/b/

sftp で /home/a のすべてのファイル、ディレクトリ、サブディレクトリを /home/b に転送したいのですが、マシン A でコマンドを試してみました

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

というエラーメッセージが表示されます。”非正規ファイル/home/a/a1をスキップしています… “というエラーメッセージが出ます。[a1はaのサブディレクトリです] put命令を修正するにはどうしたらいいでしょうか?

Thanks! 🙂

EDIT:

scpを使って解いてみました

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

  31  fibon82  2012-02-08


ベストアンサー

sftp と厳密には同等ではありませんが、rsync は scp や sftp の非常に強力な代替手段であり、特にマシン A からマシン B へのコピーを更新する際には、変更されていないファイルをコピーするのではなく、マシン A から削除されたファイルをマシン B から削除することもできます (もちろん、削除するように言われた場合のみ)

あなたの場合、構文は次のようになります

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

-r オプションはファイルを再帰的にコピーするためのもので、-z は転送中に圧縮を有効にし、-p はコピー時にファイルのパーミッション(ファイルの作成、編集など)を保持します。より多くのオプションが可能です。いつものように、man のページを読んでください

23  Karolos  2012-02-08


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

 put -r .

man sftpを参照してください

23  Carlos Da Costa  2014-10-02


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

scp -r /home/a/ user@remote.host.com:/home/b/

10  deed02392  2012-02-08


Try using

put -r /home/a/ /home/b/

詳細については、チェックアウトしてください。この

4  guest_who  2014-01-04


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

sftp> put -r sourcefolder
Uploading sourcefolder/ to /user/folder
Couldn't canonicalize: No such file or directory
....
sftp> mkdir sourcefolder
sftp> put -r sourcefolder
Uploading sourcefolder/ to /user/folder/sourcefolder
Entering sourcefolder/
sourcefolder/file1
sourcefolder/file2

0  Dieter  2017-10-05


私の場合はrsyncは無理だったので使いました

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

-1  jayarjo  2014-02-14


タイトルとURLをコピーしました