понедельник, 21 марта 2011 г.

Comfortable rotation log with newsyslog

Задача ротировать логи на FreeBSD 8.1
Раньше приходилось использовать различные костыли(что мне не очень нравилось) решил поглядеть что же умеет newsyslog, как оказалось он умеет всё что нужно простому смертному ;)
1. <include> удобное подключение конфигов
2. -t or time-stamp добавление time-stamp'a к имени архива(место каунтера)
То есть сейчас можно спокойно добавить:
<include> /usr/local/etc/newsyslog/www/*.conf в /etc/newsyslog.conf
создаём /usr/local/etc/newsyslog/www/site.conf он будет выглядеть примерно так :
/www/site/logs/*.log  644  60   *   @T00   BCJ   /var/run/httpd.pid 30
да и не забываем поменять запуск newsyslog'a в /etc/crontab
0       *       *       *       *       root    newsyslog -t DEFAULT
после этого получаем мягкие ламповые^W^Wудобную ротацию логов вида:
-rw-r--r--  1 root  wheel   827 Mar 16 00:00 access.log.20110316T000000.bz2
-rw-r--r--  1 root  wheel   841 Mar 17 00:00 access.log.20110317T000001.bz2
-rw-r--r--  1 root  wheel   848 Mar 18 00:00 access.log.20110318T000000.bz2
-rw-r--r--  1 root  wheel   822 Mar 19 00:00 access.log.20110319T000000.bz2
-rw-r--r--  1 root  wheel   944 Mar 20 00:00 access.log.20110320T000000.bz2
-rw-r--r--  1 root  wheel   837 Mar 21 00:00 access.log.20110321T000000.bz2

P.S эти изменения добавлены уже после выхода 8.1 по этому я забрал newsyslog из svn://svn.freebsd.org/base/head/usr.sbin/newsyslog ;) собрал и установил, много радовался.