Автор Гілка: Squid's logs, logrotate  (Прочитано 1610 раз)

Відсутній Smith

  • Новачок
  • *
  • дописів: 37
  • Карма: +0/-0
  • Kharkiv LUG
Squid's logs, logrotate
« : 2006-08-28 19:07:40 »
 Привіт шановна громада!
 Не можу зрозуміти коли відбувається ротація логів сквіда.
в /etc/logrotate.conf:

weekly
rotate 4
create
compress
notifempty
nomail
olddir /var/log/rotated
include /etc/logrotate.d

в /etc/logrotate.d/squid:

/var/log/squid/*.log {
copytruncate
compress
notifempty
missingok
size 100M
noolddir

sharedscripts
postrotate
/usr/sbin/squid -k rotate
endscript

в /etc/crontab:
0 * * * * root /bin/run-parts /etc/cron.hourly
1 3 * * * root /bin/run-parts /etc/cron.daily
15 4 * * 6 root /bin/run-parts /etc/cron.weekly
30 5 1 * * root /bin/run-parts /etc/cron.monthly

як я зрозумів з конфигу логротейта, логи мають ротуватися щотижня, але бачу:

-rw-r----- 1 squid squid 50606199 Aug 22 13:00 access.log
-rw-r----- 1 squid squid 6297938 Aug 21 03:06 access.log.1.gz
-rw-r----- 1 squid squid 9678030 Aug 17 03:05 access.log.2.gz
-rw-r----- 1 squid squid 10812624 Aug 11 03:04 access.log.3.gz
-rw-r----- 1 squid squid 9700330 Aug 4 03:06 access.log.4.gz

тут видно, що вони скориш за всього ротуються не по weekly а по daily, хоча в глобальному конфігу /etc/logrotate.conf логротейту написано weekly.

 Скажіть будьласко, в який саме час відбуваться ротація? я вже нічого зрозуміти не можу
 Дуже дякую за будь-яку допомогу!

Відсутній borman

  • Графоман
  • ****
  • дописів: 416
  • Карма: +0/-0
  • Debianizer
Re: Squid's logs, logrotate
« Відповідей #1 : 2006-08-29 09:41:07 »
Зверніть увагу
size 100MРотація також відбувається в той момент, коли файл журналу досягає розміру 100 мегабайт. Або щотижня. В залежності від того, що станеться раніше.
« Змінено: 2006-08-29 09:42:16 від borman »
dd if=/dev/zero of=/dev/null

Відсутній Smith

  • Новачок
  • *
  • дописів: 37
  • Карма: +0/-0
  • Kharkiv LUG
Re: Squid's logs, logrotate
« Відповідей #2 : 2006-08-29 10:46:50 »
дуже дякую вам Бормане! Тепер я зрозумів чому так відбувається.

ilrandir

  • Гість
Re: Squid's logs, logrotate
« Відповідей #3 : 2008-11-24 16:09:13 »
Гаразд, у мене питання наступне - а хто точніше скаже на що дивиться логротейт, коли вирішує що подійшов потрібний час для ротейта файла (пройшов тиждень, місяць) - на дату створення/модифікації (atime, ctime, mtime) попередньго проротейченого файла логів, чи на дату створення поточного файла логів або на щось інше? Знову ж таки в манє написано:
Цитата
Звично logrotate запускають щоденно з допомогою cron.
Значить він запускається раз на день, а якщо на момент запуску пройшло наприклад на 2 години меньше ніж тиждень, тижнєвий лог відпрацює? Фраза з ману на цю тему мені взагалі незрозуміла і питання не роз'ясняє:
Цитата
weekly
Журнал циклічно зсувається, якщо поточний день тижня менший ніж день тижня коли відбувалась остання ротація, або коли пройшло більш ніж тиждень з часу останньої ротації. Тобто журнали циклічно зсуваються в перший день тижня, але працює краще коли logrotate запускається не кожної ночі.
Тобто:
1. Якщо минулий тиждневий ротейт лога був у п'ятницю, то судячі з
Цитата
Журнал циклічно зсувається, якщо поточний день тижня менший ніж день тижня коли відбувалась остання ротація
який "день тижня" меньше ніж п'ятниця і коли судячі з цієї фрази відбудеться наступний тижневий ротейт?
2.
Цитата
або коли пройшло більш ніж тиждень з часу останньої ротації
це що до мого питання трохи вище - якщо логротейт запускається раз на день, тоді "якщо на момент запуску пройшло наприклад на 2 години меньше ніж тиждень, тижнєвий лог відпрацює?" чи він відпрацює наступного дня і буде вміщати тиждень+1 день?
3. Останнє речення взагалі малозрозуміле - що таке "перший день тиждня", чому перший - може я в п'ятницю логи ротейчу і що там про ніч я взагалі не зрозумів.

ilrandir

  • Гість
Re: Squid's logs, logrotate
« Відповідей #4 : 2008-12-19 17:51:31 »
Дякую, з'ясував майже усе, що хотів, уважно читаючи ман. Логротейт використовує /var/lib/logrotate[/|.]status (це образний регексп) зберігаючи там час останнєй ротациї лога у форматі
"/var/log/squid/access.log" 2006-9-20
Тобто ніяких секунд, хвилин, годин етс. Хоча деякі запитання безумовно залишились.