通过命令行运行cron时发生Perl错误?
问题描述:
我最近将我的网站移动到了新的服务器上,它似乎在运行我的Perl cron作业时遇到了问题。通过命令行运行cron时发生Perl错误?
[email protected] [/]# perl /home/username/backend/cron/daily_first.pl
Can't locate Proc/PID/File.pm in @INC (@INC contains: /home/username/backend/cron/../lib /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /home/username/backend/cron/cronjob.pl line 8.
BEGIN失败 - 编译在/home/username/backend/cron/cronjob.pl线8
这里中止是第9行代码的文件副本,我跑:
#!/usr/bin/perl
use strict;
use warnings;
use FindBin qw/$Bin/;
use lib "$Bin/../lib";
use Proc::PID::File;
exit if Proc::PID::File->running({ dir => $Bin });
万一有帮助,我的所有的Perl cron作业似乎给人这样的错误...
答
如果你有的perl
更现代的版本,你会得到稍多有用的错误消息:
在@公司无法找到proc /进程/ File.pm(您可能需要安装PROC :: PID ::文件模块)(@公司包含:
您没有安装the Proc::PID::File
module,或者您的@INC
路径配置错误(因此它不包含安装它的目录)。 (我倾向于the cpanm
tool(install instructions)。