Ви не говорите , 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
.