linux – Crontab权限被拒绝

linux – Crontab权限被拒绝,第1张

概述我正在运行脚本时遇到crontab问题. 我的sudo crontab -e看起来像这样: 05 00 * * * /opt/mcserver/backup.sh10 00 * * * /opt/mcserver/suspend.sh05 08 * * * /sbin/shutdown -r +111 11 * * * /opt/mcserver/start.sh <--- This is 我正在运行脚本时遇到crontab问题.

我的sudo crontab -e看起来像这样:

05 00 * * * /opt/mcserver/backup.sh10 00 * * * /opt/mcserver/suspend.sh05 08 * * * /sbin/shutdown -r +111 11 * * * /opt/mcserver/start.sh  <--- This isn't working

start.sh看起来像这样:

#!/bin/shscreen java -d64 -Xincgc -Xmx2048M -jar craftbukkit.jar nogui

并拥有这些权限(ls -l输出)

-rwxr-xr-x 1 eve eve  72 Nov 24 14:17 start.sh

我可以使用sudo或不使用sudo从终端运行命令

./start.sh

但它不会从crontab开始.
如果我做

grep -iR "start.sh" /var/log

我得到以下输出

/var/log/syslog:Nov 27 11:11:01 eve-desk CRON[5204]: (root) CMD (eve /opt/mcserver/start.sh)grep: /var/log/btmp: Permission denIEdgrep: /var/log/lightdm/x-0-greeter.log: Permission denIEdgrep: /var/log/lightdm/lightdm.log: Permission denIEdgrep: /var/log/lightdm/x-0.log: Permission denIEd

所以我的问题是,为什么它不起作用?
既然我的脚本在不使用sudo的情况下运行,我不一定需要把它放在sudo crontab中吗?

(我正在使用Ubuntu 12.10)

提前致谢,
菲利普

回答twalberg的回应

1.将craftbukkit上的所有者更改为root,以查看是否解决了问题.

-rw-r--r-- 1 root root 12084211 Nov 21 02:14 craftbukkit.jar

并在我的start.sh脚本中添加了一个显式的cd:

#!/bin/shcd /opt/mcserver/screen java -d64 -Xincgc -Xmx2048M -jar craftbukkit.jar nogui

我不太清楚你的意思.当我启动java时,我应该在start.sh文件中使用以下路径吗?
(输出来自java)

/usr/bin/java

3.当我的服务器关闭时,屏幕终止.无论如何以“分离模式”启动屏幕是个好主意吗?

仍然得到相同的“权限被拒绝”错误.

问题解决了!
通过在屏幕上使用正确的标志,如下所示,它现在正在工作!

screen -d -m java -d64 -Xincgc -Xmx2048M -jar craftbukkit.jar nogui

非常感谢那些回答的人,特别是twalberg!

解决方法 以下是一些要检查的事项:

> root显然对start.sh有读/执行权限,但是对craftbukkit.jar有什么权限 – 可以root读取吗?您可能还想在start.sh脚本中添加显式cd /path/to/where/craftbukkit.jar/is.> java是root用户在cron中的默认路径吗?请注意,此路径不一定与通过sudo,su或直接以root身份登录的路径相同 – 通常更受限制.使用java和craftbukkit.jar的完整路径名来解决这个问题.>由于屏幕不会以可用的终端开始,您可能需要屏幕-d -m …而不是.希望您打算最终附加到每个屏幕实例并稍后终止它,或者您已经安排它在脚本完成时自动终止…> / var / log / syslog条目显示cron确实执行了脚本,所以它必须因上述原因之一而失败(或者我还没有注意到的其他原因)> grep的其他错误只是因为你的非root用户没有读取这些特定文件的权限(这是正常的,这是一件好事).

总结

以上是内存溢出为你收集整理的linux – Crontab权限被拒绝全部内容,希望文章能够帮你解决linux – Crontab权限被拒绝所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1017579.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存