Link to home
Start Free TrialLog in
Avatar of TommyN14
TommyN14

asked on

Log Rotation

Hi,

I know Apache has a capability of rotates the log files periodically by moving or deleting the existing logs.  But the bad thing is the server need to restart after moving or deleting the old logs in order for the new logs to be opened.

This is what i want to do:
Create 4 folders: let say Week1, Week2, Week3, Week4.  For this month, log all files into these folders based on the appropriate week.  Next month, it should goes back and re-use these folders to log the new files.  When it logs, the old file should be deleted or at least emptied or overwrite the old files, instead of append to the old files.  The reason for this is to save space, the log files grow big really fast and i don't have time to go in and empty it out.  Is there a way to do this?  Any third party software that does that?  I know cronolog.org has one, but not exactly what i wanted though.  

Please help!

TommyN14
Avatar of samri
samri
Flag of Malaysia image

Tommy,

There is an existing PAQ on the subject:
https://www.experts-exchange.com/apache/Q.20256453.html

http://httpd.apache.org/docs/logs.html
Look for this section - "Piped Logs"

Based on your requirement, I would suggest that you go for the piped-log approach.  The drawback is that you need to do some coding.

I tried to look for way to split up the logfile by weeks.  Personally it would be a bit difficult since one month will have 5 weeks, with the 1st and last week will have less days.

Perhaps you might want to look at other grouping method - months probably, will be a bit straightforward, and within each month, have a daily log.

just a recommendation.
Another option is to use "logrotate"

On RH the package should come in the standard distribution.
Avatar of TommyN14
TommyN14

ASKER

Samri,

I've read those site be4 i posted the question.  I guess i wasn't sure exactly what it does.  Will Pipe Logs does what i need?  What i need is to have just a few folders and have the program logs to these folder rotationally.  And when it complete one cycle, it goes back and reuse those old log files and overwrite them.  This way we will only have to use some amount of spaces on the hard drive.  

I know cronolog is a more flexible one, but it only does creating folder after folder (or file after file).  This way, i have to go back and manually delete old files to clear out space.

TommyN14
Tommy,
The problem with those recommendation is that for the logfile rotation to work, the apache needs to be restarted.

I haven't personally tried cronolog.  By your description, it should not be that difficult to write a small script to manipulate those files, and move them the their respective weekly directories.
Samri,

Could you please provide some codes?

TommyN14
ASKER CERTIFIED SOLUTION
Avatar of samri
samri
Flag of Malaysia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Samri,

You know what, forget it.  I'm just gonna use cronolog and write my own java app to delete the old files instead. I'm working on my java app, and i'm almost done.  Eventhough, you answers are not what i expected, but you can have all the points.  Thanks for your time in trying to help.

TommyN14