in reply to Re^3: how to log a process
in thread how to log a process

Ok -- that didn't exctly work ---BUT SOLUTION! -- and certainly yallz wisdom proved Exactly what i needed: I think this is working - is logging & deleating
###:WAS Oven1 = '/media/oven_web/iportal/uploads' # rvsd to oven2 - 4-2009 js # /oven_web/iportal/uploads # # to del files older than 30 days ### 2.28.2008 - js #!/usr/local/bin/perl # 2592000 = 30 day n min (60 *60 * 24 *30 ) use strict; # change the below to dlt - my $dir = '/oven_web/iportal/cgi-bin/uploads2'; my $now2 = localtime time; my $logfile = "/oven_script/script_logs/30DayDlt-LOG.txt"; open (LOGFILE, ">>$logfile") or die "Cannot open logfile $logfile for +append $!"; opendir(DIR,$dir) || die "Can't open $dir : $!\n"; my @files = readdir(DIR); # you may want to grep only certain files he +re close(DIR); print LOGFILE "$now2 \n"; foreach my $file(@files) { my $now = time; my @stat = stat("$dir/$file"); if ($stat[9] < ($now - 2592000)) { print "Deleting $dir/$file..."; #unlink("$dir/$file"); #print "Done.\n"; print LOGFILE "$dir/$file deleted\n"; } }
I know you had some ...more sophisicated ways of dealing with the time... I fell back on what I understood. ( grin ) I suppose I *could be premature with the happy dance -- but. It sure looks good. well, the odds look good. I am sure the code looks clumsy to you. How about that double var for current time $now & $now2 ( i am to happy to be ashamed -- refinement will come) all the thanks to you here is a question ? do i need to Close the log at the end?

Replies are listed 'Best First'.
Re^5: how to log a process
by Marshall (Canon) on May 29, 2009 at 00:10 UTC
    I would put a check on status of the unlink. But failure is like one in a million for something like this.

    It sounds like you are happy.
    I am happy about that!

      curious -- what do you mean by " I would put a check on status of the unlink. " ? thanks
        File ops like open(), unlink(), etc return status of whether it worked or not. You've seen open(...) or die"...."; same sort of thing for unlink() if you want to make sure that it succeeded. Maybe you've got a wrong path name in the unlink() or file is a directory or some other such thing that would cause the unlink to fail. Of course you can do other things that "die", depends upon your application.