過度の通知なしにrsyncからシンボリックリンクを除外

過度の通知なしにrsyncからシンボリックリンクを除外

ここからシンボリックリンクを除外したいのですが、rsyncすべてのリンクが--no-links私の端末にあふれ、skipping non-regular fileその中の他の重要な情報に集中することはできませんrsync

各個別のイベントにかかることなくリンクを除外する方法は?以下は許可されない回避策です。

  1. この-qオプションを使用すると抑制されます。みんな出力は以下から来ます。rsync
  2. メッセージのフィルタリングgrep
  3. リンクの周りのインクルードファイルを慎重に変更するのは良い選択ではありません。

これが不可能な場合(そしてその可能性があるように見える場合):非正規ファイルをスキップすることが重要なので、ユーザーがそのファイルを除外するように指定しても、それぞれのファイルについて明示的に警告が表示されますか?私はこれを開発者の問題として考えたいと思います。

答え1

次のメッセージを見たくない場合どの--info=skip0rsyncスキップされたファイルは、バージョンが古すぎない場合に機能します。

スキップされたシンボリックリンクに関するメッセージを見たくありませんが、する他のファイルをスキップする場合はメッセージが必要なので、残念ながらrsync出力制御オプションはそれについて十分に細かいようです。

rsync --info=help出力で調整できる項目のリストについては、参考資料を参照してくださいrsync

答え2

--files-from同期するファイルのリストを定義し、シンボリックリンクを除外するために使用できますfind

rsync --files-from=<(find . ! -type l -print) . TARGET/

答え3

コマンドの後に以下を追加してみてくださいrsync

| grep -v "skipping non-regular file"

これらのメッセージを生成する唯一の項目である場合は、そのメッセージをフィルタリングします。"^skipping"行の先頭にある場合でもできます。

関連情報