次のコマンドを実行します。
/usr/bin/rsync -avuz --rsh=ssh --temp-dir=/tmp --port=55556 --rsync-path=/usr/bin/rsync REMOTEIP:/home/*/mail/ /home/*/mail > /var/log/rsync/test.log 2>&1
明らかにするrsync: mkdir "/home/*/mail" failed: No such file or directory (2)
リテラルの代わりにユーザー名を取得するためにローカル拡張パスを使用できますか*
?
すべてのホームディレクトリからメールディレクトリを抽出したいと思います。
答え1
宛先ディレクトリは1つしか持てません。あなたの場合、共通の目標は/home
またはです/
。したがって、ローカル宛先からリモートパスをコピーするには-R
(long version --relative
)オプションを使用します。
... --relative REMOTEIP:/home/*/mail/ /
--no-implied-dirs
rsyncが特定のディレクトリ(サブディレクトリではない)の属性をコピーしようとするのを防ぐために、これを追加できます。まず、-n
これが期待どおりに機能することを確認してください。
答え2
次の方法でもこれを達成できますが、mihhの方法はよりきれいです。
/usr/bin/rsync -avuz --rsh=ssh --temp-dir=/tmp --port=55556 --include='*/mail' --include='*/mail/**' --exclude='*/*' --rsync-path=/usr/bin/rsync REMOTEIP:/home/ /home > /var/log/rsync/test.log 2>&1