вручну обертається лог-файл з rsyslogd


10

Я хочу змусити обертати логін, використовуючи logrotate -f /var/log/syslog, але це лише тони повернення:

error: syslog:1 unknown option 'May' -- ignoring line
error: syslog:1 unexpected text

Я знаю, що в цій системі працює rsyslogd. Як обертатись /var/log/syslog? Я хочу, щоб воно було порожнім.

Відповіді:


23

Ви не говорите , logrotateякий файл обертатися в командному рядку. Ви передаєте йому файл конфігурації. Тож у вашому випадку logrotateчитає /var/log/syslogі намагається розібрати його як файл конфігурації та вийти з ладу (звідси ваші помилки).

Якщо ви хочете повернути, /var/log/syslogйого потрібно logrotateдесь вказати у конфігураційному файлі, і ви просто запустіть logrotate. Якщо він обертався недавно, то logrotate -fзмусити його зробити це знову.

Ось приклад запису /var/log/syslogвід Debian,

/var/log/syslog
{
        rotate 7
        daily
        missingok
        notifempty
        delaycompress
        compress
        postrotate
                invoke-rc.d rsyslog reload > /dev/null
        endscript
}

Отже, вам це потрібно у файлі, як правило, /etc/logrotate.confабо як фрагмент файлу, /etc/logrotate.dприпускаючи ваші /etc/logrotate.confочки там, і тоді ви просто запустите logrotate /etc/logrotate.conf.

Оскільки ви запускаєте Debian, це, ймовірно, все на місці, і все, що вам потрібно зробити, це запустити logrotate -f /etc/logrotate.conf(зауважте, це поверне кожен журнал, який зараз налаштований у logrotate).

Якщо ви дійсно хочете лише обертатись /var/log/syslog, вам потрібно буде створити конфігураційний файл, який виконує лише один журнал, виходячи із вмісту /etc/logrotate.conf+ /etc/logrotate.d/rsyslog.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.