Автор Гілка: Logrotate, postrotate  (Прочитано 1402 раз)

Відсутній Smith

  • Новачок
  • *
  • дописів: 37
  • Карма: +0/-0
  • Kharkiv LUG
Logrotate, postrotate
« : 2006-09-05 12:49:31 »
Добридень шановні!
Чи хтось використовував директиву postrotate? У мене /etc/logrotate.d/squid виглядае так:

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

    sharedscripts
    postrotate
        /usr/sbin/squid -k rotate
        /usr/bin/perl /home/smith/log_transporter.pl
    endscript
}

мені потрібно щоб /usr/bin/perl /home/smith/log_transporter.pl виконувавля після того, як логи відротувалися (останній видалився, а самий перший заархівувався), але мій скрип виконується кожний раз, як відбувається перевірка логротейтом логів, навіть якщо ротаціі не відбувається.
 Мені потрібно щоб скрипт виконувався тільки тоді, коли ротація дійсно відбувається.
 В мані написано
Цитата
The  lines  between  postrotate  and  endscript are executed after the log file is rotated.
але я бачу що мій скрипт відпрацював, а ротації не було.
 Чи може хтось підказати що я роблю не так.
 Дуже дякую за будьяку інформацію.

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3820
  • Карма: +11/-0
  • Програміст
Re: Logrotate, postrotate
« Відповідей #1 : 2006-09-05 14:07:57 »
Цитата
lastaction/endscript
              The  lines  between lastaction and endscript (both of which must appear on lines by themselves) are executed once
              after all log files that match the wildcarded pattern are rotated, after postrotate script is run and only if  at
              least  one  log  is  rotated.
[Fedora Linux]

Відсутній Smith

  • Новачок
  • *
  • дописів: 37
  • Карма: +0/-0
  • Kharkiv LUG
Re: Logrotate, postrotate
« Відповідей #2 : 2006-09-05 18:26:13 »
дуже дякую!