如何为perl脚本设置crontab作业

Dee*_*pak 4 perl crontab

我有一个Perl脚本,我想通过cron每4小时运行一次.但不知何故,如果我通过命令行运行它,它无法通过cron执行并运行正常.以下是我在crontab中设置的命令:

perl -q /path_to_script/script.pl > /dev/null
Run Code Online (Sandbox Code Playgroud)

此外,当我在命令提示符下运行此命令时,它不会执行,但当我进入叶文件夹path_to_script并执行该文件时,它运行正常.

此外,这个cron作业的日志文件将在何处创建,以便我可以查看它们?

Wes*_*ton 8

您应该将工作目录更改为"叶文件夹".

在crontab命令中尝试:

cd /path_to_script; perl script.pl >/dev/null
Run Code Online (Sandbox Code Playgroud)

WRT.日志文件.Cron会邮寄给你输出.但是,由于您已将stdout发送到/ dev/null,因此只会将stderr邮寄给您.

如果希望将输出保存在日志文件中,则将脚本的stderr/stdout输出传递到文件中,如下所示:

cd /path_to_script; perl script.pl 2>&1 >my_log_file
Run Code Online (Sandbox Code Playgroud)