誰かが私と一緒に問題を解決しようとするのを手伝ってくれるのだろうか。
監査サーバー上のGOLDビルドに基づいてリモートファイルシステムを監査することを目的として、一連のシェルスクリプトを作成しました。
この一環として、私は次のことを行います。
1)rsyncを使用して、新しいファイルやディレクトリ、変更または削除されたファイルを処理します
2)find ${source_filesystem} -ls
権限の違いを解決するために、ローカルとリモートの両方で使用します
現在、この一部として、私が除外している特定のファイルまたはディレクトリがあります。つまり、ログ、トレースファイルなどです。
したがって、これを実現するために、2つの方法を使用します。
1)RSYNC---exclude-from
フラグを使用して追加された除外リストがあります
2)find -ls
-egrep -v
ステートメントを使用して、rsyncexclude-listと同じものを除外します。
例えばfind -L ${source_filesystem} -ls | egrep -v "$SEXCLUDE_supt"
したがって、私の問題は、2つの別々のリストを維持する必要があることであり、これは管理者にとって少し悪夢です。
find -ls
rsyncまたは?の両方に使用できる除外のリストを動的に作成できるかどうかについて、いくつかの支援またはアドバイスを探しています。
除外リストの形式は次のとおりです。
RSYNC:
*.log
*.out
*.csv
logs
shared
tracing
jdk*
8.6_Code
rpsupport
dbarchive
inarchive
comms
PR116PICL
**/lost+found*/
dlxwhsr*
regression
tmp
working
investigation
Investigation
dcsserver_weblogic_*.ear
dcswebrdtEAR_weblogic_*.ear
探す:
SEXCLUDE_supt="\.log|\.out|\.csv|logs|shared|PR116PICL|tracing|lost\+found|jdk|8\.6\_Code|rpsupport|dbarchive|inarchive|comms|dlxwhsr|regression|tmp|working|investigation|Investigation|dcsserver_weblogic_|dcswebrdtEAR_weblogic_"