crontab提示错误:/bin/sh .backup.sh no such file or directory
crontab suggested error :/bin/sh .backup.sh no such file or directory
我使用命令 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
没问题
这是怎么回事?我该如何修复它?
期待有人帮助 me.Thanks 很多!
尝试在 crontab 列表之前设置以下内容。例如,如果此行位于顶部:
0 1 * * * cd /opt/oneinstack/oneinstack;./backup.sh >> /data/back.log 2>&1 &
然后看起来像这样:
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 &
此外:
就像@Ugur 提到的那样,如果您在 backup.sh
中正确处理路径,则无需 cd。例如:
ROOTPATH="/path/to/data"
TARTGETPATH="/path/to/target"
FileToBackup="${ROOTPATH}/myfile"
rsync $FileToBackup $TARGETPATH/
我使用命令 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
没问题
这是怎么回事?我该如何修复它?
期待有人帮助 me.Thanks 很多!
尝试在 crontab 列表之前设置以下内容。例如,如果此行位于顶部:
0 1 * * * cd /opt/oneinstack/oneinstack;./backup.sh >> /data/back.log 2>&1 &
然后看起来像这样:
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 &
此外:
就像@Ugur 提到的那样,如果您在 backup.sh
中正确处理路径,则无需 cd。例如:
ROOTPATH="/path/to/data"
TARTGETPATH="/path/to/target"
FileToBackup="${ROOTPATH}/myfile"
rsync $FileToBackup $TARGETPATH/