为什么我的小 cron 作业找不到 shell 命令?


34 7 * * * test_cron > /tmp/stdout.log 2> /tmp/stderr.log

我的可执行文件"test_cron"包含:

echo "Test cron job ..."
now=$(date)
echo "Cron job update completed at $now"

但当它执行时,stderr如下:

tmp % tail /tmp/std*           
==> /tmp/stderr.log <==
/bin/sh: test_cron: command not found
==> /tmp/stdout.log <==

这是否意味着它找不到/bin/sh?如何修复?

你可以检查的几件事

  1. test_cron是否具有可执行标志?如果没有,您可以在脚本所在的目录中运行以下命令
chmod +x test_cron
  1. $PATH中是否存在test_cron脚本

PS:我建议在cron配置中编写test_cron脚本的绝对路径。在这种情况下,您不需要将脚本添加到$PATH

最新更新