Ok, I've got this script which I pulled off of a website for rotating apache logfiles. 
 But since I'm runnig numberous sites on my server it doesn't quite do what I need.

It works just fine for a single set of logfiles for instance if the files are in 
/logs/test in the example below.  but what I have is a number of subdirectories under 
/logs/test like /logs/test/site1, /logs/test/site2, /logs/test/site3

I'd like the script to go to each directory under the test directory and rotate the 
logs there, how do I do this.

I thought it would entail changing the $LOGPATH= parameter to something like 
/logs/test/* but no luck.

I hope I've made that clear

Any help is appreciated
Eric
Heres the script
#######################
#!/usr/bin/perl
 $LOGPATH='/logs/test/';
 
@LOGNAMES=('access_log','error_log','referer_log','agent_log','access.log','error.log');
  
 $PIDFILE = '/var/run/httpd.pid';
 $MAXCYCLE = 4;

 chdir $LOGPATH;  # Change to the log directory
 foreach $filename (@LOGNAMES) {
    for (my $s=$MAXCYCLE; $s >= 0; $s-- ) {
        $oldname = $s ? "$filename.$s" : $filename;
        $newname = join(".",$filename,$s+1);
        rename $oldname,$newname if -e $oldname;
    }
 }
 kill 'HUP',`cat $PIDFILE`;
####################

Reply via email to