Cron 脚本不工作

Cron 脚本不工作

我正在尝试运行一个 cron 作业,该作业运行一个脚本以每分钟在终端上打印一条消息。

该脚本非常简单,只是为了测试这个想法:

#!/bin/bash
echo "Hello World"

以下是我的 crontab 中的内容:

* * * * * /etc/cron.hourly/script1.sh

我反复检查了脚本是否具有正确的权限 (755),所以我不明白为什么它不起作用。我做错了什么?

答案1

cron 任务不与任何终端相关联。输出要么被丢弃,要么可能通过邮件发送给用户(如果已配置)。

最好将作业重定向到文件,然后打开终端读取文件,如下所示:

#!/bin/bash
echo "Hello World">/home/myname/script1.sh.out 2>&1

这会将输出和错误发送到文件。如果有多个命令,最好将整个脚本输出发送到文件,如下所示:

#!/bin/bash
exec >/home/myname/script1.sh.out 2>&1 
echo "Hello World"

或者在 crontab 中执行如下操作:

* * * * * /etc/cron.hourly/script1.sh>/home/myname/script1.sh.out 2>&1 

从终端,您可以运行“tail”来显示输出:

tail -f /home/myname/script1.sh.out

相关内容