系统:Debian Wheezy x86_64
服务:Samaba
当我在终端中时,我可以使用service samba restart
或/etc/init.d/samba restart
重新启动服务。当我创建一个 cronjob 并使用它时/etc/init.d/samba status
,它就可以工作了。
但当我尝试
/etc/init.d/samba restart
在 crontab 中,我收到以下报告:
Stopping Samba daemons: nmbd/etc/init.d/samba: 119: start-stop-daemon: not found
smbd/etc/init.d/samba: 119: start-stop-daemon: not found
.
Starting Samba daemons: nmbd/etc/init.d/samba: 119: start-stop-daemon: not found
failed!
测试时一切正常,但在终端中,crontab 运行时却不行。
经过一些调整后,Samba 服务已启动并运行良好,smb.conf
所以我遇到的只是让 crontab 为我重新启动它的问题。
答案1
你的 crontab 看起来应该像这样:
0 * * * * /etc/init.d/samba restart >> /dev/null 2>&1
另外,请确保您在编辑此 cron 时是 sudo,例如:
sudo crontab -e
答案2
更新:我看到这是 crontab 的系统日志,它设置为在一天开始时运行以重新启动 samba,而系统日志中没有其他内容:
12 月 19 日 00:00:01 存储 /USR/SBIN/CRON[25935]: (root) CMD (/etc/init.d/samba restart)
我在我的电子邮件报告设置中收到此信息:
停止 Samba 守护进程:nmbd/etc/init.d/samba:119:start-stop-daemon:未找到 smbd/etc/init.d/samba:119:start-stop-daemon:未找到。 启动 Samba 守护进程:nmbd/etc/init.d/samba:119:start-stop-daemon:未找到 失败!
这是今晚要运行的 cronjob:
0 0 * * 6 /etc/init.d/samba 重新启动 >> /dev/null 2>&1
我创建了一个与上面类似的程序,但每小时运行一次以进行测试。
答案3
你必须在 crontab 中设置正确的路径
查看输出
echo $PATH
并将其放入你的 crontab 中:
PATH=... here the output