我正在运行 Ubuntu16。
我正在尝试运行非常简单的 bash 脚本和 cron 作业!
我正在尝试让 cron 每天运行以下 bash 脚本:
#!/bin/bash
echo "Hello James how is your day going"
我可以从命令行运行脚本,没有问题,但 cron 不行?我的 Cron 作业设置如下:
0 15 * * * /tmp/myjob.sh
我错过了什么?
答案1
您首先真正需要的是这个脚本:
#!/bin/sh
eval "export $(egrep -z DBUS_SESSION_BUS_ADDRESS /proc/$(pgrep -u $LOGNAME gnome-session)/environ)";
#Code:
DISPLAY=:0
notify-send "Hello James how is your day going"
您可以通过每分钟运行一次来测试。
*/1 * * * * /tmp/myjob.sh
这会每分钟弹出一个窗口,告知你你的进展情况;)
答案2
首先,您应该使用“shebang”启动 bash 脚本:#!/bin/bash(不要忘记 # 键)。还要授予文件执行权限:
chmod +x /tmp/myjob.sh
然后在 cron 上我建议你输入:
0 15 * * * /tmp/myjob.sh
您的 cron 任务设置为每天 15:00(下午 3 点)运行。我建议您先将其设置为每 2 分钟运行一次以进行测试。
答案3
crontab -u yourusername -e
添加在 2 分钟内关闭显示器的示例:
MAILTO=""
*/2 * * * * XAUTHORITY=/home/yourusername/.Xauthority DISPLAY=:0.0 xset dpms force off > /dev/null
重启 cron
service cron restart
无需创建.sh
文件!