gpt4 book ai didi

perl - Cron perl 脚本无法运行

转载 作者:行者123 更新时间:2023-12-04 05:34:35 25 4
gpt4 key购买 nike

我正在尝试使用 cron 在我的 Ubuntu 服务器上运行 perl 脚本。我有 3 个 perl 脚本:

  • works.pl (从终端工作。作为cron作业工作)
  • failed.pl (从终端工作。作为cron作业失败)
  • functions.pl (我所有的共享函数都存储在这里)

  • 我能想到的'works.pl'和'fails.pl'之间的唯一区别是'fails.pl'使用引用'functions.pl'的 require() 语句。 'Fails.pl' 不引用 'functions.pl'。

    额外信息
  • 我所有的 perl 脚本都位于同一个文件夹中,即
    在我的公用文件夹之外。
  • 我所有的 perl 脚本都具有相同的权限 (740)。

  • 有什么想法吗?顺便说一句,我的用户级别是新手:-)

    谢谢。

    最佳答案

    require尝试在 @INC 中列出的目录之一中查找脚本阵列。这个数组通常包含当前目录,. .因此,如果您当前的目录是 functions.pl位于然后运行 ​​fails.pl应该工作。

    有两种方法可以实现这一点:首先,在运行脚本之前更改目录,例如(cron 条目示例)

    5 12 * * * cd /home/user/path/to/script ; ./fails.pl

    其次,通过将它放在 fails.pl 的顶部附近,告诉 Perl 在编译时在哪里可以找到您的脚本。 :
    BEGIN {
    unshift @INC, "/home/user/path/to/script";
    };

    关于perl - Cron perl 脚本无法运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12130926/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com