在没有CronTab的情况下运行Perl脚本1分钟

时间:2013-09-25 06:43:58

标签: perl cron

My Perl脚本(test.pl)现在在crontab中运行为

* * * * * perl test.pl >/dev/null 2>&1

我希望每隔1分钟运行一次脚本而不使用crontab。我将无法访问/etc/cron.d/中写入cron作业,因此需要找到另一种解决方案

有没有办法做到这一点?

2 个答案:

答案 0 :(得分:5)

Schedule::Cron是CPAN上的一个模块,它提供了运行定期任务的强大功能。

use Schedule::Cron;
my $cron = new Schedule::Cron(sub {});
sub run_task { 
    # do something... 
}
$cron->add_entry("0 11 * * Mon-Fri",\&run_task);
$cron->run();

强烈推荐,因为:

  1. 触发任务的时间间隔是自定义且灵活的,几乎与* nix系统中的crontab相同。因此,当您轻松快速地获得新要求时,您可以更改脚本;

  2. 不是定期运行整个脚本,而是允许定期在脚本中运行单个函数,所以再次灵活;

答案 1 :(得分:0)

尝试一个守护进程。将代码置于无限循环中,并在每次操作之间休眠60秒。我想。