Rsync は /home/*/ から同じディレクトリにインポートされます。

Rsync は /home/*/ から同じディレクトリにインポートされます。

次のコマンドを実行します。

/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-dirsrsyncが特定のディレクトリ(サブディレクトリではない)の属性をコピーしようとするのを防ぐために、これを追加できます。まず、-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

関連情報