我最近将我的网站移到了新的服务器上,似乎在运行我的Perl cron作业时遇到了问题。
root@server [/]# 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作业似乎都会出现这样的错误......
答案 0 :(得分:3)
如果你有一个更现代的perl
版本,你会收到更有帮助的错误消息:
无法在@INC中找到Proc / PID / File.pm(您可能需要安装Proc :: PID :: File模块)(@INC包含:
您没有安装the Proc::PID::File
module,或者您的@INC
路径配置错误(因此它不包含您安装它的目录)。
使用您喜欢的任何方法安装模块(我倾向于the cpanm
tool(install instructions)。