我在 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 作业的工作目录中。