My Perl脚本(test.pl)现在在crontab中运行为
* * * * * perl test.pl >/dev/null 2>&1
我希望每隔1分钟运行一次脚本而不使用crontab。我将无法访问/etc/cron.d/中写入cron作业,因此需要找到另一种解决方案
有没有办法做到这一点?
答案 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();
强烈推荐,因为:
触发任务的时间间隔是自定义且灵活的,几乎与* nix系统中的crontab
相同。因此,当您轻松快速地获得新要求时,您可以更改脚本;
不是定期运行整个脚本,而是允许定期在脚本中运行单个函数,所以再次灵活;
答案 1 :(得分:0)
尝试一个守护进程。将代码置于无限循环中,并在每次操作之间休眠60秒。我想。