Logrotate Script Error
Hey guys,
I’m trying to rotate a logstash log that can grow pretty large. 3.4GB last I saw!
And that’s because the logrotate script I came up with didn’t work.
The error I get on a syntax check is this:
#logrotate -f logstash size: ‘100M’: No such file size: ‘100M’: No such file size: ‘100M’: No such file size: ‘100M’: No such file size: ‘100M’: No such file size: ‘100M’: No such file size: ‘100M’: No such file size: ‘100M’: No such file
And this is the logstash rotate script:
#cat /etc/logrotate.d/logstash
/var/log/logstash/* {
daily
rotate 7
copytruncate
compress
delaycompress
missingok
notifempty
postrotate
size 100M
/bin/kill -HUP `cat /var/run/logstash.pid 2>/dev/null` 2> /dev/null
|| true
endscript
}
I can’t find the error there. Can I have a suggestion as to what’s wrong and how to correct it?
Thanks, Tim
2 thoughts on - Logrotate Script Error
Multiple errors here, first hint: “man 8 logrotate” is a good start.
Second: wrong order of lines:
diff -U2
[code]
— your logstash-rotate
+++ corrected logstash-rotate
@@ -7,6 +7,7 @@
missingok
notifempty
– postrotate
size 100M
+ sharedscripts
+ postrotate
/bin/kill -HUP `cat /var/run/logstash.pid 2>/dev/null` 2> /dev/null || true
endscript
[/code]
In short: “postrotate” line is in wrong position, add line “sharedscripts”
– Yamaban.
Hey!
That worked!
/var/log/logstash/* {
daily
rotate 7
copytruncate
compress
delaycompress
missingok
notifempty
size 100M
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/logstash.pid 2>/dev/null` 2> /dev/null
|| true
endscript
}
Thanks for the help!
Tim