günlük dosyasını rsyslogd ile el ile döndürme


10

Günlük dosyasını döndürmeyi zorlamak istiyorum logrotate -f /var/log/syslog, ancak yalnızca tonlarını döndürüyor:

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

Bu sistemde rsyslogd çalıştığını biliyorum. Nasıl döndürülür /var/log/syslog? Boş olmasını istiyorum.

Yanıtlar:


23

logrotateKomut satırında hangi dosyanın döndürüleceğini söylemezsiniz . Bir yapılandırma dosyası iletirsiniz. Yani sizin durumunuzda, logrotateokuma /var/log/syslogve bir yapılandırma dosyası olarak ayrıştırmaya çalışıyor ve başarısız oluyor (bu nedenle hatalarınız).

Döndürmek istiyorsanız /var/log/syslog, bir logrotateyerde bir yapılandırma dosyasında listelenmesi gerekir ve sadece çalıştırın logrotate. Yakın zamanda döndüyse, logrotate -ftekrar yapmaya zorlamak için.

İşte /var/log/syslogDebian için örnek bir giriş ,

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

Yani, bir dosyada, normalde ya /etc/logrotate.confda bir dosya snippet'i olarak puanlarınızı /etc/logrotate.dvarsayarak buna ihtiyacınız /etc/logrotate.confvardır ve sonra sadece koşarsınız logrotate /etc/logrotate.conf.

Debian'ı çalıştırdığınız için, bunların hepsi yerinde ve gerçekte yapmanız gereken tek şey çalıştırmaktır logrotate -f /etc/logrotate.conf(not, bu şu anda logrotate'te yapılandırılmış olan tüm günlükleri döndürecektir ).

Eğer varsa gerçekten sadece döndürmek istiyor /var/log/syslog, sadece yapan bir yapılandırma dosyası oluşturmak için ihtiyaç duyacağı içeriğine dayalı bir günlük, /etc/logrotate.conf+ /etc/logrotate.d/rsyslog.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.