有关 crontab 脚本的帮助

有关 crontab 脚本的帮助

很抱歉创建此主题,但我自己无法解决这个问题。

我想要 crontab 执行基本命令“xrandr --auto”

我创建了一个如下所示的 test.sh 文件。

#!/bin/bash
xrandr --auto

添加以下行后crontab -e,我使用了默认的 nano 编辑器。

*/2 * * * * /home/dashboarduser/test.sh

也尝试过这样

*/2 * * * * root /home/dashboarduser/test.sh

它不起作用,我不知道为什么。

经过一番搜索,发现这个命令 grep CRON /var/log/syslog可以查看 cron 日志文件的内容。

Dec 12 14:06:01 : (dashboarduser) CMD (root /home/dashboarduser/test.sh # JOB_ID_1)
Dec 12 14:06:01 : (CRON) info (No MTA installed, discarding output)

如果我在终端运行我的脚本->/home/dashboarduser/test.sh它可以正常工作。

提前致谢。

答案1

首先,检查该脚本是否可执行。

其次,尝试从与 cron 运行脚本相同的帐户自行运行该脚本。

该脚本将从 crontab 的用户帐户执行。因此,如果您crontab -e在登录到常规用户帐户时运行,则该 crontab 中的所有作业都将以您的身份运行。

请注意,如果您的机器上有邮件功能(例如安装了 MTA),那么当 cron 作业发出任何输出(例如错误消息)时,您都会收到电子邮件。

答案2

首先,您需要安装 MTA 来获取更多输入,例如错误消息

No MTA installed, discarding output

表示。请参阅这里如何做到这一点。

或者

将脚本的输出重定向到某个文件中,如下所示这里

相关内容