繁体   English   中英

Cron工作没有运行

[英]Cron job does not run

以下是crontab中的条目:

MAILTO=abc@gmail.com
45 14 * * * /home/user/simple.sh

我也在simple.sh上做了chmod +x但是crontab没有运行,它甚至没有发送电子邮件。

pgrep cron显示了Id。 我也试过弹跳crond。 但没有运气! 有人可以指出这里的错误

simple.sh脚本是:

#! /bin/bash
echo hello

谢谢

由于您在cron作业脚本中执行echo ,因此需要在某处捕获其输出。

你的shebang和文件模式(使用chmod +x )都没问题,所以这里不是问题,没有/bin/sh运行应该可以正常工作。

尝试使用以下命令查看cron.log文件中的输出(每分钟运行一次)

* * * * * /home/user/simple.sh >> /home/user/cron.log

请注意,cron作业在单独的子进程shell中运行,环境减少,因此它的输出在终端上不可见。

关于发送电子邮件 - 您需要为cron守护程序配置一些邮件包(如postmanmutt等)以发送错误邮件。

不要使用相对路径,而应使用绝对路径。 另外,指示运行脚本的二进制文件,即/bin/sh (或来自which sh ):

45 14 * * * /bin/sh /path/to/script/simple.sh

也许你的.sh脚本的第1行不应该有空格:

#! /bin/bash

#!/bin/bash

虽然我可以理解为什么它仍然可以在交互式shell中调用时工作( 只能注释掉其余部分)。

不过,我猜最糟糕的是它只是忽略了那条线并继承了cron对/ bin / sh的解释器

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM