这是我的crontab -e文件的内容
#!/bin/bash
6 14 * * * /home/rishi/cront.sh此外,cront.sh文件只包含以下内容
mkdir foo在过去的两天里,我一直在尝试让它工作。从终端运行时,cront.sh命令可以正常工作。但是,在crontab中不起作用。
编辑
事实证明,只需使用根用户编辑crontab -e就可以完成此工作。不需要做更多的事情。
发布于 2013-01-14 16:52:56
在cron下,不能保证您的环境变量(最重要的是PATH)将被预先设置。
尝试在crontab的顶部添加如下所示的行:
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin此外,对mkdir使用完整路径也是一个好主意:
mkdir /path/to/my/dir此外,确保您的cront.sh是可执行的也不会有什么坏处:
chmod +x /home/rishi/cront.sh在那之后,它应该可以工作了。
编辑
用于调试crontab问题的泛型方法
set # this应该手动打印你的脚本的所有环境,将输出重定向到一些日志file1。现在,编辑
*** /path/to/my/script 2>&1 > /path/to/log/file2
确保日志文件对于您的脚本是可写的。此外,请确保您的脚本设置了可执行位。
crontab中添加行,或者在scripts.export var=value,这没有理由不能正常工作。发布于 2013-01-14 16:44:32
你不需要排在第一行
#!/bin/bash <--- remove this line
6 14 * * * /home/rishi/cront.sh你的脚本是可执行的吗?
如果不是。尝试在终端中运行以下命令。
chmod +x /home/rishi/cront.sh带有注释字段的crontab格式示例如下:
# Minute Hour Day of Month Month Day of Week Command
# (0-59) (0-23) (1-31) (1-12 or Jan-Dec) (0-6 or Sun-Sat)
0 2 12 * 0,6 /your/path/yourscript.sh发布于 2013-01-14 16:53:33
试一试
6 14 * * * sh /home/rishi/cront.sh或在cront.sh中添加第一行
#!/bin/bash或chmod a+x /home/rishi/cront.sh
https://stackoverflow.com/questions/14315272
复制相似问题