rsync は、コマンドに追加のディレクトリを追加します。

rsync は、コマンドに追加のディレクトリを追加します。

rsyncコマンドをスクリプト化しており、現在同様のことをしようとしています...

rsync -av -e ssh $DATASTORE/usr/local/somepath $DESTDIR/usr/local/someotherpath/

$DATASTOREをエコーすると、次のように表示されます。

echo $DATASTORE
[email protected]

コマンドを実行すると、次の結果が表示されます。

/vagrant/[email protected]/usr/local/somepath no suck file or diectory

なぜそこに/vagrantを追加したのか(/vagrantは私がいる現在のディレクトリです)、そしてそのソースはどこなのかわかりません。これはうまくいくことはできないようですが、これが何をするのか、そしてそれを回避する方法(安全な場合)を知りたいのですが。

ベストアンサー1

:他の人が指摘したように、パスとホストの指定を区別するには、コロン()を使用する必要があります。

rsync -av -e ssh "$DATASTORE":/usr/local/somepath "$DESTDIR"/usr/local/someotherpath/

また、これがsomepath望ましい動作ではありませんが、必要に応じて"$DESTDIR"/usr/local/someotherpath"$DESTDIR"/usr/local/someotherpath/somepathコンテンツsomepathターゲットディレクトリのソースsomeotherpathパスの後にスラッシュを追加します。

rsync -av -e ssh "$DATASTORE":/usr/local/somepath/ "$DESTDIR"/usr/local/someotherpath/

おすすめ記事