我有一个notify.sh看起来像的脚本:
notify-send "hi welcome"
Run Code Online (Sandbox Code Playgroud)
我下午 2 点的 crontab 通知:
0 14 * * * home/hacks/notify.sh
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用。问题是什么?
Phi*_*l P 44
您的脚本缺少 #! 开头的一行,这是内核解释的魔术,用于说明脚本将使用哪个命令解释器。
让它看起来像这样:
#!/bin/sh
notify-send "hi welcome"
Run Code Online (Sandbox Code Playgroud)
并确保脚本是可执行的:
ls -l home/hacks/notify.sh
chmod +x home/hacks/notify.sh
ls -l home/hacks/notify.sh
Run Code Online (Sandbox Code Playgroud)
另外,由于您要求每天只发生一次,crontab 的时区是否与您自己的时区相同?您可能会在格林威治标准时间下午 2 点发现这种情况。
Ara*_*ind 22
使 crontab 运行很容易。这里我要说的是如何运行 crontab 作业。它对任何卡在 crontab 上的人都很有用。
*/1 * * * * cd /home/hacks && sh notify.sh
Run Code Online (Sandbox Code Playgroud)
要使脚本可执行,我们必须执行以下操作:
chmod +x home/hacks/notify.sh
Run Code Online (Sandbox Code Playgroud)
在这里,我每隔一分钟运行这个脚本......通过执行以下脚本,您可以将其写入日志文件中以查看其是否正常工作
写日志
*/1 * * * * cd /home/hacks && sh notify.sh>>test.log
Run Code Online (Sandbox Code Playgroud)
发邮件
*/1 * * * * cd /home/hacks && sh notify.sh>>test.log | mail -s "Hi this is example" user@domain.com
Run Code Online (Sandbox Code Playgroud)
4 假设:
cron 守护进程没有运行(做一个ps axfww | grep cron检查)
通知发送试图将输出发送到终端或 X 会话——但它是从cron环境中运行的,它不知道“与谁交谈”,可以这么说。
您的脚本不可执行
home/crontab 脚本中的路径相对于脚本被执行的用户。尝试使用完整路径
| 归档时间: |
|
| 查看次数: |
234221 次 |
| 最近记录: |