in reply to Perl backup script
my (@file_change,@backup); my ($time2,$change,$file,$files);
You should declare variables as close as possible to where there are defined instead of all at the beginning.
open my $report, ">", "report.txt";
You should always verify that the file opened correctly before trying to use a possibly invalid filehandle.
for $file (</tmp/*>) {
The files in /tmp are temporary, why would you want to save them?
@file_change = stat($file); $time2 = $file_change[9]; # (day = 86400, week = 604800) $change = (time - $time2); push @backup, $file if ($change < 604800) ;
If you just want time periods based on days then you could use the -M operator.
# function to create tarball and backup changed files; sub backup { $files = "@backup"; system ("tar -czvf backup.tgz $files") ; } # run backup function backup();
Why does this need to be a subroutine? You should verify that system succeeded.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Perl backup script
by jpl (Monk) on Apr 12, 2011 at 09:55 UTC |