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`;
####################