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