我使用命令crontab -e
定期执行shell脚本。
但是它有问题。
shell脚本位于/opt/oneinstack/oneinstack
,所以我的crontab是:
0 1 * * * cd /opt/oneinstack/oneinstack; ./backup.sh>> /data/back.log 2>& 1&
backup.sh文件的权限是755。
使用crontab -e
命令的用户是 root
/data/back.log中的消息为/bin/sh no such file or directory .
,就像标题一样。
手动执行backup.sh
没问题。
它出了什么问题?我该如何解决它?
期待有人帮助我。非常感谢!!
答案 0 :(得分:1)
尝试在crontab列表之前设置以下内容。例如,如果此行位于顶部:
<p><a href="./page.html?msubject=<?php echo $_GET['msubject'];?>&subject=thingy">Page</a></p>
然后它看起来像这样:
**<?php ?>**
另外:
就像@Ugur提到的那样,如果你在0 1 * * * cd /opt/oneinstack/oneinstack;./backup.sh >> /data/back.log 2>&1 &
中正确处理路径,就没必要cd了。例如:
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
0 1 * * * cd /opt/oneinstack/oneinstack;./backup.sh >> /data/back.log 2>&1 &