2010-12-09 3 views
1

Hi ich habe die folgenden Zeilen in /etc/logrotate.d/syslog-ng hinzugefügt, um/var/log/cron rotieren zu lassen.logrotate für/var/log/cron funktioniert nicht?

Nachdem ich dies getan habe, wird festgestellt, dass die Logrotation für/var/log/cron nicht stattfindet. Außerdem funktioniert die Logrotation für andere Dateien, die früher gearbeitet haben, bevor dieser Code hinzugefügt wurde, auch nicht. Ich habe die Datei /etc/logrotate.d/ in /etc/logrotate.conf eingefügt

Wohin gehe ich falsch?

Meine ursprüngliche /etc/logrotate.d/syslog-ng wird unter

gegeben
/var/log/cmm/cmm/error.log { 
    rotate 5 
    compress 
    size=100k 
    postrotate 
     /usr/bin/killall -HUP syslog-ng 2> /dev/null || true 
    endscript 
} 

# ------------------- rotate and move user.log 
/usr/local/data/log/user.log { 
    rotate 10 
    compress 
    size=1000k 
    missingok 
} 

/tmp/log/user.log { 
    rotate 1 
    nocompress 
    size=100k 
    postrotate 
     /usr/bin/killall -HUP syslog-ng 2> /dev/null || true 
     cat /tmp/log/user.log.1 >> /usr/local/data/log/user.log 
    endscript 

} 

# ------------------- rotate and move debug.log 
/usr/local/data/log/debug.log { 
    rotate 32 
    compress 
    size=1000k 
    missingok 
} 

/tmp/log/debug.log { 
    rotate 1 
    nocompress 
    size=100k 
    postrotate 
     /usr/bin/killall -HUP syslog-ng 2> /dev/null || true 
     cat /tmp/log/debug.log.1 >> /usr/local/data/log/debug.log 
    endscript 
} 
+0

Ihnen fehlen die Anweisungen "postrotate" und "endscript". – Piskvor

+0

Entschuldigung, ich habe vergessen, die Postrotae und Endscript-Direktive hinzuzufügen. Eigentlich ist es da in meinem Code. Dann passiert auch die Logrotation nicht –

Antwort

3

alle anderen Richtlinien /usr/bin/killall haben.

Die cron Direktive hat /bin/killall. Vielleicht ist das der Grund?

logrotate -d /path/to/your/script 

Und sucht nach Hinweisen in seiner Ausgabe

In jedem Fall

laufen.