-2

我们有一个日志阅读器脚本,例如:

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 点,也可以每周自动运行。

我知道要每天运行它,有一个“cron”命令或一些 shell 脚本,因为我们在这里使用的是 linux,但我从未使用过该命令。

另外,每周怎么样?那将是最近 7 天的总和,所以也许这可以用 Perl 完成?

4

1 回答 1

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 运行。

这个,

    00 6 * * 3 /home/user/log_reader.pl

将在一周的第 3 天早上 6:00 运行,即每周一次。

希望有帮助。

于 2013-06-05T06:33:22.683 回答