logrotate может обработать весь *.log в дереве каталогов?

Попробуйте следующий сценарий удара:

find . -type f -name "*.jpg" -print | while read FILE  
  do mv "${FILE}" "`dirname ${FILE}`/`basename ${FILE} .jpg`_00.jpg"
  done

Это найдет все .jpg файлы в или ниже текущего каталога и вставит _00 прежде .jpg. Если Вы только хотите, чтобы это обработало текущий каталог, запускают команду находки с find . -maxdepth 1

2
задан 21 October 2011 в 01:33
1 ответ

Нет, не работает. Вы можете использовать подстановочные знаки для каталогов, поэтому, если ваше дерево имеет небольшую известную глубину, вы можете сделать что-то вроде:

   /a/* /a/*/* /a/*/*/*  {
       rotate 5
       weekly
   }

Если у вас есть журналы только на листе / a / * / * / * is

"Пожалуйста, используйте подстановочные знаки с осторожностью. Если вы укажете * , logrotate будет вращать все файлы, включая ранее повернутые. Чтобы обойти это, используйте директиву olddir или более точный подстановочный знак (например, *. log ) »- страница руководства logrotate

2
ответ дан 3 December 2019 в 12:04

Теги

Похожие вопросы