1
我正在使用perl腳本通過crontab解壓zip文件。腳本正常工作,如果我手動執行它。但每當我在cron中設置腳本不再工作。我測試過cron設置其他腳本文件正在從cron工作只有這個壓縮解壓縮腳本不起作用。由crontab提取Zip文件
腳本如下:
#!/usr/bin/perl
use IO::Uncompress::Unzip qw(unzip $UnzipError);
$dir = '/root/perl';
open (han2, "ls -l $dir/*.zip |awk '{print \$9}'|");
@array1 = <han2>;
chomp(@array1);
for ($i=0;$i<=$#array1;$i++) {
$zipfile = $array1[$i];
$u = new IO::Uncompress::Unzip $zipfile
or die "Cannot open $zipfile: $UnzipError";
die "Zipfile has no members"
if ! defined $u->getHeaderInfo;
for ($status = 1; $status > 0; $status = $u->nextStream) {
$name = $u->getHeaderInfo->{Name};
warn "Processing member $name\n" ;
if ($name =~ /\/$/) {
mkdir $name;
}
else {
unzip $zipfile => $name, Name => $name
or die "unzip failed: $UnzipError\n";
}
}
}
crontab的設置:
34 14 * * * /root/perl/./unzip.pl > /dev/null 2>&1
請幫我的cronjob做這個任務
如果你的腳本位置是'/ root/perl/unzip.pl',那麼試試'34 14 * * */usr/bin/perl /root/perl/unzip.pl>/dev/null 2>&1' –
yes位置是/root/perl/unzip.pl。我也改變了這個設置,但它仍然沒有解壓縮文件。 – user2916639