以下是crontab中的条目:
MAILTO=abc@gmail.com
45 14 * * * /home/user/simple.sh
我在chmod +x
上也完成了simple.sh
但是crontab没有运行,甚至没有发送电子邮件。
pgrep cron
显示了ID。我也试过弹跳crond。但没有运气!
有人可以指出这里的错误
simple.sh脚本是:
#! /bin/bash
echo hello
由于
答案 0 :(得分:6)
由于您在cron作业脚本中执行echo
,因此需要在某处捕获其输出。
您的shebang
和文件模式(使用chmod +x
)是正确的,因此这些不是问题,没有/bin/sh
运行应该可以正常工作。
尝试使用以下内容查看cron.log
文件中的输出(每分钟运行一次)
* * * * * /home/user/simple.sh >> /home/user/cron.log
请注意,cron作业在单独的子进程shell中运行,环境减少,因此终端上不会显示其输出。
关于发送电子邮件 - 您需要为cron守护程序配置一些邮件包(如postman
,mutt
等)以发送错误邮件。
答案 1 :(得分:4)
不要使用相对路径,而应使用绝对路径。另外,请指明运行脚本的二进制文件,即/bin/sh
(或来自which sh
的任何内容):
45 14 * * * /bin/sh /path/to/script/simple.sh