shell 脚本在 cronjob 中不起作用

shell 脚本在 cronjob 中不起作用

我在 cron 中执行脚本时遇到了问题。在 bash 版本 4.3 下,同一个脚本在终端和 cron 上运行良好。但 cron 在较低的 bash 版本下失败。

我想将命令输出保存在脚本文件中,例如

#!/bin/bash
newendcount=$(/bin/cat error_files.log | wc -l)
echo $newendcount > /tmp/var.txt

使用终端时,它运行良好,但使用 cron 时,它不存储行计数值,而是给出 0 作为结果。但相同的脚本在终端上正常运行。

cronjob 就像

* * * * * /bin/bash script.sh > /tmp/output.txt

我正在编辑这个问题。因为我找到了问题的解决方案。这是因为环境变量不匹配。我在脚本顶部添加了一行“ . /root/.profile ”,现在 cron 可以按预期工作了

答案1

您可能需要添加完整路径,error_files.log因为它不太可能位于 cron 作业的工作目录中。

相关内容