通过命令行运行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 toolinstall instructions)。