crontab中的任务不起作用

时间:2015-05-07 10:33:17

标签: cron crontab cron-task

如果程序崩溃,我想自动启动程序(检查进程是否存在,如果没有,重新启动它),所以使用crontab是一个简单的解决方案,但是

我使用crontab -e/etc/crontab文件创建了一个简单的crontab任务,如下所示:

* * * * * /usr/bin/gnome-terminal

它不起作用,它永远不会启动gnome-terminal,我可以看到它执行/ var / log / syslog(Ubuntu)或/ var / log / cron(CentOS)中的任务,gnome-terminal永远不会出现。

如果你说因为gnome-terminal是一个gui程序,那么这个创建蓝牙服务的脚本也不会起作用:

使用crontab -e/etc/crontab

* * * * * /home/username/run-bt

运行-BT:

#!/bin/sh

# find bt pid
/usr/bin/pgrep bluetoothd
# if not running
if [ $? -ne 0 ]
then
    /usr/sbin/service bluetooth restart
fi⏎

我已经使run-bt脚本可执行,但即使我手动停止蓝牙服务,蓝牙服务也无法启动。

但是这个:

* * * * * /bin/ls > /tmp/ls.output

按预期工作。

怎么了?

1 个答案:

答案 0 :(得分:0)

实际上crontab不会加载它所运行的当前用户的所有环境变量,只是其中一些。

您尝试运行的脚本可能需要其中一些环境变量吗?

相关问题