加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

使用Perlbrew时从crontab运行Perl脚本

发布时间:2020-12-15 21:57:41 所属栏目:大数据 来源:网络整理
导读:我尝试了以下内容并发现它可以正常工作.这是由非特权用户完成的.首先找出perl命令的位置: # which perl 然后检查PERL5LIB的值: # echo $PERL5LIB 然后,在用户的crontab文件中,执行以下操作: MAILTO=my email address for the jobs outputHOME=/home/myhom
我尝试了以下内容并发现它可以正常工作.这是由非特权用户完成的.首先找出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 ...

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读