ターゲットサーバーがリモートサーバー上に存在しない場合、scpがターゲットフォルダーを作成するかどうか疑問に思います。たとえば、これは機能しますか?
scp -r /data/install/somefolder [email protected]:/data/install/somefolder
ここでフォルダー/data/install/somefolder
はFTPサーバー上に存在しないため、このコマンドで作成できますか?
N.B. rsyncについて読んだことがありますが、rsyncの仕組みや使用方法はまだよくわかりません。
(rsyncの代わりに)sshとscpでタスクを達成するには:
2つのステップに分けましょう。
ssh [email protected] "mkdir -p /data/install/somefolder"
scp -r /data/install/somefolder [email protected]:/data/install/somefolder
server="[email protected]"
destiny="/data/install/somefolder"
src="/data/install/somefolder"
ssh "$server" "mkdir -p $destiny" && scp -r "$src" "$server:$destiny"
短い答え:いいえ。
...しかし、rsyncはそうです。そのため、ボックスのrsync -Pravdtze ssh
にscpをエイリアスしています。はい、それは多くのスイッチであり、これらを組み合わせることで、私の好みのrsync動作を生成します。 rsyncは非常に広範なスイッチとオプションのセットを提供しているため、ニーズに最適なものを確認するためにいくつかの調査を行うことをお勧めします。マンページは開始するのに適した場所ですが、簡単に入手できる多くの情報があります。 例のまともなリスト です。
Edit:実際、あなたが投稿した特定のケースでは、フォルダーが作成されます。それがコピーしているフォルダーです。ただし、user@remotehost:somenonexistentfolder/somefolder
にコピーしようとすると失敗します。