Solved

Log Rotation

Posted on 2002-05-02
8
334 Views
Last Modified: 2012-05-04
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
0
Comment
Question by:TommyN14
  • 5
  • 3
8 Comments
 
LVL 15

Expert Comment

by:samri
ID: 6987761
Tommy,

There is an existing PAQ on the subject:
http://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.

0
 
LVL 15

Expert Comment

by:samri
ID: 6987779
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.
0
 
LVL 15

Expert Comment

by:samri
ID: 6987840
Another option is to use "logrotate"

On RH the package should come in the standard distribution.
0
 
LVL 1

Author Comment

by:TommyN14
ID: 6988641
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
0
Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

 
LVL 15

Expert Comment

by:samri
ID: 6990126
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.
0
 
LVL 1

Author Comment

by:TommyN14
ID: 6991325
Samri,

Could you please provide some codes?

TommyN14
0
 
LVL 15

Accepted Solution

by:
samri earned 100 total points
ID: 6991385
Tommy,

I might be able to get one, in a few days (lost my RH box - no Linux is allowed in our office - *sigh*).

If you could identify which method you feels like using, I would be able to help (I'm not very good at coding - but should be able to get the basic).

Basically, any option, Apache would have to be restarted.  Let;s pick the simplest method - stick to the basic (since some Unix doesn't come with logrotate, or cronolog.

The concept would be;

1. Run the script from cron at midnight.  And the script should;

a. rename current logfile to whatever format we want.
b. restart apache (upon restart, apache should create a new logfile).
c. work on the renamed-log file. We can archive it, delete it :), or anything.
 
0
 
LVL 1

Author Comment

by:TommyN14
ID: 6991772
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
0

Featured Post

What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

Join & Write a Comment

Suggested Solutions

As Wikipedia explains 'robots.txt' as -- the robot exclusion standard, also known as the Robots Exclusion Protocol or robots.txt protocol, is a convention to prevent cooperating web spiders and other web robots from accessing all or part of a websit…
Introduction As you’re probably aware the HTTP protocol offers basic / weak authentication, which in combination with the relevant configuration on your web server, provides the ability to password protect all or part of your host.  If you were not…
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now