-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 時に自動的に実行する必要があります。また、毎週も実行する必要があります。

ここでは Linux を使用しているため、これを毎日実行するには「cron」コマンドまたはシェル スクリプトがあることは知っていますが、そのコマンドを使用したことはありません。

また、毎週はどうですか?それは最近の 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

each_month、毎日午前 6:00 に実行されます。

これです、

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

週の第 3 日の午前 6:00 に実行されます。つまり、週に 1 回実行されます。

それが役立つことを願っています。

于 2013-06-05T06:33:22.683 に答える