On Sat, Dec 21, 2013 at 9:46 PM, Cliff Pratt enkiduonthenet@gmail.com wrote:
John's suggestion is still pertinent. You'll need a SIGHUP handler in your script. Logrotate could send the SIGHUP in a postrotate 'script'.
Thanks!
On Sun, Dec 22, 2013 at 3:15 PM, Larry Martell larry.martell@gmail.comwrote:
On Sat, Dec 21, 2013 at 8:52 PM, John R Pierce pierce@hogranch.com wrote:
On 12/21/2013 4:56 PM, Larry Martell wrote:
I'm looking for advice or suggestions for rolling log files with a daemon. I have a python script that I daemonized with
http://www.jejik.com/articles/2007/02/a_simple_unix_linux_daemon_in_python/ .
Before I daemonized it it was run from a bash script that invoked the underlying python script. It ran the python script, waited for it to complete and then it slept for 5 seconds and ran it again. This was in a infinite loop. In between each invocation it checked the log file and if it was over 10MB it renamed it and then the next invocation started with a new empty log. Since each invocation was a separate run this worked fine. But now the daemonized python script doesn't exit - the same log file is attached to it forever. So my renaming of the file does nothing - the i node doesn't change and it's still logging to the same large file. Anyone have any ideas how I can achieve this sort of log rolling in this situation?
send a SIGHUP to syslog and it shoudl re-opent he log files.
silly question, but whats wrong with the logrotate daemon thats built into centos?
This is not using syslog. If you look at the daemonizing script I gave the link to, you pass in the log files for stdout and stderr, and it does some double fork magic and then associates the given files with them.