ワイルドカードは、tmpwatchに提供された除外パスでは機能しないようです。
/tmp
内に次のdir構造があります
drwxr-xr-x 2 vrisbud developers 4096 May 17 15:36 AssetEnumeratorTest
drwxr-xr-x 2 vrisbud developers 4096 May 17 15:37 EnumeratorReducerTest
drwxr-xr-x 2 reco reco 4096 May 30 14:42 hadoop-reco
drwxr-xr-x 3 vrisbud developers 4096 May 17 15:30 hadoop-vrisbud
drwxr-xr-x 2 reco reco 4096 May 31 08:10 hsperfdata_reco
drwxr-xr-x 2 root root 4096 May 26 13:30 hsperfdata_root
'hadoop'で始まるディレクトリをtmpwatchから除外したいと思います。だから私は次のコマンドを実行しています
tmpwatch -tmf 8 -x /tmp/hadoop* /tmp
'hadoop-reco'および 'hadoop-vrisbud'ディレクトリを削除することを示しています。 (私はそれをテストしているだけなので、-tフラグを追加しています。)
私も試しました
tmpwatch -tmf 8 -x '/tmp/hadoop*' /tmp
tmpwatch -tmf 8 -x '/tmp/hadoop.*' /tmp
何も機能していないようです。 'hadoop'で始まるディレクトリをtmpwatchから除外したい。
違いがあれば、tmpwatch 2.9.7
バージョンを使用しています。
現在のバージョンのtmpwatchでそれを行う方法を知りたいのですが。以下の回答は、-X option in the upgraded version of tmpwatch
を使用できることを示していますが、現在のバージョンではこのオプションを使用できません。
アップグレード(またはソースからのコンパイル)はオプションですか?このオプションを最初に追加したバージョンがわからない。 tmpwatch 2.9.16
の私の(centos 6.6)マニュアルページには次のものがあります。
-X, --exclude-pattern=pattern
Skip paths matching pattern; if a directory matches pattern,
all files contained in it are skipped too. pattern must match
an absolute path that contains no symbolic links.
編集:古いバージョンのブルートフォースは次のようになります(バッククォートなどでシェルグロビンとprintf
を使用して、-x ...
引数を生成します):
tmpwatch -tmf 8 /tmp `printf -- "-x %s " /tmp/hadoop*/`
注:printf
形式の文字列の末尾のスペースが必要です。そして書かれているように、それはサブディレクトリのhadoop*
を除外しません。