- 论坛徽章:
- 0
|
perl脚本如下,直接运行此脚本/usr/bin/perl /home/test/get.pl 可以得到正确的结果,如下红色部分:
[root@local test]# tail -2 get.txt
20091027190001 70 #这是错误的结果,是在crontab中得到的
20091028115203 405 #这是正确的结果,是直接运行perl脚本得到的
而在cron中得到的结果却出乎意料,如上,更多的情况是得到的0.
crontab -l
0 19 * * * /usr/bin/perl /home/test/get.pl
这个问题已经困惑我好久,测试很多次都没找到原因,还请各位帮我看下,谢谢!
#!/usr/bin/perl -w
use strict;
use POSIX qw/strftime/;
my $date = strftime "%Y%m%d%H%M%S",localtime;
my $file = "/home/test/get.txt";
my $n = `/usr/bin/mysql -Daaa -e"select count(*) from aaa where period_diff(current_timestamp,col_date) < 30"`;
if ($n =~ /(\d+)/) {
my $num = $1;
open FILE,">> $file" or die "$!";
print FILE "$datet$numn";
close FILE;
}
|
[ 本帖最后由 gaochong 于 2009-11-3 10:07 编辑 ] |
|