perl - crontab 不执行 perl 脚本
问题描述
我在安排 crontab 任务时遇到问题;我已经用谷歌搜索并阅读了大量页面,但无法理解给出的解决方案是否特定于示例并且它们似乎无法解决我的问题。
我正在尝试运行一个名为的基本 perl 脚本perl_speedtest.pl
,该脚本/home/pi/Documents/Projects
位于我的树莓派目录中。当我通过命令手动运行脚本时:perl perl_speedtest.pl
从上面的目录中它可以完美运行。
通过在终端中使用“crontab -e”命令,我已将任务安排为每 20 分钟运行一次,并使用以下 crontab 作业:
*/20 * * * * perl /home/pi/Documents/Projects/perl_speedtest.pl
由于某种原因,这不执行..有什么想法吗?如果需要,很高兴分享更多细节。
解决方案
cron
正如上述评论者指出的那样,正确设置您的环境。否则,cron
使用非常小的环境(包括PATH
,PERL5LIB
等)。您crontab
应该看起来像这样,具体取决于您在交互式 shell 中使用它时的实际环境:
HOME=/home/pi
SHELL=/bin/bash
MAIL=/usr/bin/mail
06 */1 * * * source ~/.bashrc &> /dev/null ; perl /home/pi/Documents/Projects/perl_speedtest.pl
# or this (find the perl path by executing "which perl"):
06 */1 * * * /usr/bin/perl /home/pi/Documents/Projects/perl_speedtest.pl
推荐阅读
- windows - 如何隐藏以 std::process::Command 启动的进程的控制台窗口?
- prolog - Prolog - 相等运算符包装
- powershell - Powershell - 数组作为哈希表中的值?
- java - 在 Java 8 中使用 Optional 进行多次空检查
- c - 由于不相关的函数调用,C 字符串被垃圾值填充
- r - 如何将绘图区域限制在精确区域
- powerapps - 错误 429:在 Power Automate 中启动审批错误
- firebase - 什么是 Firebase 存储转移和操作?
- javascript - 使用javascript将数组转换为不同的形状
- notepad++ - 使用 Notepad++ 提取基于单行文本的特定文本行