Как использовать подстановочный знак в пути tmpwatch
Кажется, что подстановочный знак не работает в исключающем пути, предоставленном tmpwatch.
У меня есть следующая структура DIR внутри /tmp
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
, но у меня нет этой опции доступной в моей текущей версии.
1 ответ
Является ли обновление (или компиляция из исходного кода) вариантом? Не знаю, какая версия впервые добавила эту опцию; моя (centos 6.6) справочная страница для tmpwatch 2.9.16
имеет:
-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*
в подкаталогах.