首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cron作业不能在Linux Mint 12中运行

Cron作业不能在Linux Mint 12中运行
EN

Stack Overflow用户
提问于 2013-01-14 16:42:30
回答 3查看 2.7K关注 0票数 0

这是我的crontab -e文件的内容

代码语言:javascript
复制
#!/bin/bash
6 14 * * * /home/rishi/cront.sh

此外,cront.sh文件只包含以下内容

代码语言:javascript
复制
mkdir foo

在过去的两天里,我一直在尝试让它工作。从终端运行时,cront.sh命令可以正常工作。但是,在crontab中不起作用。

编辑

事实证明,只需使用根用户编辑crontab -e就可以完成此工作。不需要做更多的事情。

EN

回答 3

Stack Overflow用户

发布于 2013-01-14 16:52:56

cron下,不能保证您的环境变量(最重要的是PATH)将被预先设置。

尝试在crontab的顶部添加如下所示的行:

代码语言:javascript
复制
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin

此外,对mkdir使用完整路径也是一个好主意:

代码语言:javascript
复制
mkdir /path/to/my/dir

此外,确保您的cront.sh是可执行的也不会有什么坏处:

代码语言:javascript
复制
chmod +x /home/rishi/cront.sh

在那之后,它应该可以工作了。

编辑

用于调试crontab问题的泛型方法

  • 在要调试的脚本顶部,添加一行:

set # this应该手动打印你的脚本的所有环境,将输出重定向到一些日志file1。现在,编辑

  • 如下所示:

*** /path/to/my/script 2>&1 > /path/to/log/file2

确保日志文件对于您的脚本是可写的。此外,请确保您的脚本设置了可执行位。

  • 比较日志file1和日志file2,密切关注env。变量。如果它们不同,请使用您希望将它们设置为相同的任何方法。可能是在crontab中添加行,或者在scripts.
  • After中使用export var=value,这没有理由不能正常工作。
票数 3
EN

Stack Overflow用户

发布于 2013-01-14 16:44:32

你不需要排在第一行

代码语言:javascript
复制
#!/bin/bash <--- remove this line
6 14 * * * /home/rishi/cront.sh

你的脚本是可执行的吗?

如果不是。尝试在终端中运行以下命令。

代码语言:javascript
复制
 chmod +x /home/rishi/cront.sh

带有注释字段的crontab格式示例如下:

代码语言:javascript
复制
# 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
票数 1
EN

Stack Overflow用户

发布于 2013-01-14 16:53:33

试一试

代码语言:javascript
复制
6 14 * * * sh /home/rishi/cront.sh

或在cront.sh中添加第一行

代码语言:javascript
复制
#!/bin/bash

或chmod a+x /home/rishi/cront.sh

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14315272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档