マシン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