Even simpler... opendir DIR, "/logs/test"; @dirs = readdir DIR; closedir DIR; foreach (@dirs) { if ( -d "/$_") { # do your stuff # Notice that you need to preceed the $_ with the path you passed to opendir. } }
R At 16:47 30/09/2002 -0500, eric gregory wrote: >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`; >#################### -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]