使用Perlbrew时从crontab运行Perl脚本

前端之家收集整理的这篇文章主要介绍了使用Perlbrew时从crontab运行Perl脚本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我尝试了以下内容并发现它可以正常工作.这是由非特权用户完成的.首先找出perl命令的位置:
# which perl

然后检查PERL5LIB的值:

# echo $PERL5LIB

然后,在用户的crontab文件中,执行以下操作:

MAILTO=<my email address for the jobs output>
HOME=/home/myhome
PERL5LIB=/home/myhome/perl5/lib/perl5

0 2 * * * $HOME/<rest of path to perl>/perl $HOME/<path to my perl script> arg1 ...

这将在凌晨2点运行,似乎正确找到所有Perl库.我的问题是:这是完整和便携的吗?有没有更好的办法?

我已经看到了许多bash和perl脚本,它们应该为执行Perl脚本准备环境,但这似乎就足够了.欢迎任何建议!

编辑:从评论到问题,似乎我使用Perlbrew和local :: lib的“坏”混合.确保库安装在特定Perlbrew版本中的方法在这里得到解答:How do I install CPAN modules while using perlbrew?.当您使用local :: lib时,cpan和cpanm都将安装在PERL5LIB下,除非您明确告诉他们不这样做. cpanm似乎也更适合与Perlbrew一起工作.

解决方法

脚本的shebang(#!)行应指向它要运行的(perlbrew-installed)perl. (这应该是安装脚本的一部分.)这就是你所需要的.
0 2 * * * /path/to/script arg1 ...

猜你在找的Perl相关文章