Linux Mint 12中未运行的Cron作业
这是我的crontab-e文件的内容Linux Mint 12中未运行的Cron作业,linux,cron,Linux,Cron,这是我的crontab-e文件的内容 #!/bin/bash 6 14 * * * /home/rishi/cront.sh 此外,cront.sh文件只有以下内容 mkdir foo 从过去的两天起,我一直在努力使这项工作顺利进行。当从终端运行cront.sh命令时,该命令起作用。但是,在crontab中不起作用 编辑 事实证明,只需使用root编辑crontab-e 完成了任务。再也不用做什么了。你不需要排在第一行 #!/bin/bash <--- remove this line
#!/bin/bash
6 14 * * * /home/rishi/cront.sh
此外,cront.sh文件只有以下内容
mkdir foo
从过去的两天起,我一直在努力使这项工作顺利进行。当从终端运行cront.sh命令时,该命令起作用。但是,在crontab中不起作用
编辑
事实证明,只需使用root编辑crontab-e
完成了任务。再也不用做什么了。你不需要排在第一行
#!/bin/bash <--- remove this line
6 14 * * * /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
你不需要排在第一线
#!/bin/bash <--- remove this line
6 14 * * * /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
在
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 should print all environment variables
- 手动执行脚本,将输出重定向到某个日志文件1
- 现在,将crontab编辑为如下内容:
* * * * * /path/to/my/script 2>&1 > /path/to/log/file2
- 比较日志文件1和日志文件2,密切关注env。变量。如果它们不同,请使用您希望将它们设置为相同的任何方法。它可以向
添加行,或者在脚本中使用crontab
export var=value
- 在那之后,没有理由不正常工作
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 should print all environment variables
- 手动执行脚本,将输出重定向到某个日志文件1
- 现在,将crontab编辑为如下内容:
* * * * * /path/to/my/script 2>&1 > /path/to/log/file2
- 比较日志文件1和日志文件2,密切关注env。变量。如果它们不同,请使用您希望将它们设置为相同的任何方法。它可以向
添加行,或者在脚本中使用crontab
export var=value
- 在那之后,没有理由不正常工作
6 14 * * * sh /home/rishi/cront.sh
或
在cront.sh中添加第一行
#!/bin/bash
或者chmoda+x/home/rishi/cront.sh
或
在cront.sh中添加第一行
#!/bin/bash
或者chmoda+x/home/rishi/cront.sh我以前没有这行代码。当时它不起作用,所以我尝试添加这个。这也不起作用。您的cron作业将在14:06运行?我已将此更改为实验。所以,这一定不是问题所在。我以前没有这句话。当时它不起作用,所以我尝试添加这个。这也不起作用。您的cron作业将在14:06运行?我已将此更改为实验。所以,这一定不是问题所在。我一步一步地做了所有的事情。但它仍然不起作用。我需要在路径中添加更多的内容吗?我一步一步地添加了所有内容。但它仍然不起作用。我需要在路径中添加更多内容吗?我自己找到了解决方案。只需从根目录中选择cronted-e,它就成功了。我自己找到了解决方案。从根目录中选择cronted-e,它就起作用了。关于编辑:这不应该是必需的,但您是否可以将该编辑作为答案发布,以便将此问题标记为已回答?关于编辑:这不应该是必需的,但您是否可以将该编辑作为答案发布,以便将此问题标记为已回答?