我们有一个日志阅读器脚本,例如:
use strict;
use warnings;
my $location = "file.txt";
open LOGFILE, $location;
my $first_line = 1;
my $max_id;
while (<LOGFILE>) {
if (/item_id:(\d)+/) {
if ($first_line) {
$first_line = 0;
$max_id = $1;
} else {
$max_id = $1 if ($1 > $max_id);
}
}
}
my $found = $max_id;
print "$found\n";
close LOGFILE;
(代码来自@duskast)
我们需要这个代码每天自动运行,比如每天早上7点,也就是每周运行。
我知道每天运行这个命令或者有一些shell脚本,因为我们在这里使用linux,但我从未使用过该命令。
另外,每周怎么样?这可能是最近7天的总和,所以也许可以用Perl完成?
答案 0 :(得分:4)
你应该使用cron和crontab。
使用cron的标准格式是:
Minute Hour Day_of_Month Month Day_of_Week Cmd
正在运行
25 07 05 * * /home/user/log_reader.pl
每月5日上午7:25(星号允许任何月份)运行任何工作日(星号选择允许的任何工作日)
所以你的cron工作..
00 6 * * * /home/user/log_reader.pl
每天早上6点开始运行。
这一个,
00 6 * * 3 /home/user/log_reader.pl
将在一周的第3天上午6:00运行,这意味着每周一次。
希望有所帮助。