Cron Bad Minute错误:“home.cron”:0:错误分钟crontab:crontab文件中的错误,无法安装

时间:2016-03-05 21:25:45

标签: shell cron

我在Mac OS终端上创建了cron,这是代码:

home.cron的内容:

* * * * * /users/username/desktop/forTrump/script.sh

然后我这样运行:

crontab home.cron

然后我收到了这个错误:

  “home.cron”:0:坏分钟crontab:crontab文件中的错误,无法安装

这是上面打开的shell文件,我测试过,这可以通过从os终端执行./script.sh来完美运行,但我似乎无法在cron中运行它而没有得到该错误

#!/bin/sh    
python /Users/username/Desktop/forTrump/test.py

我已经确保没有换行导致错误的分钟错误,提前感谢您的帮助。

5 个答案:

答案 0 :(得分:5)

我今天遇到过类似的问题: " /tmp/crontab.vjQAiZ" 1L,14C写 crontab:安装新的crontab " /tmp/crontab.vjQAiZ":0:糟糕的一分钟 crontab文件中的错误,无法安装。 您想重试相同的编辑吗?

即使我尝试在我的crontab列表中添加ABSOLUTELY正确的条目,也会出现相同的错误。 像往常一样,我有leart google建议。但是notihng帮助了。

我的解决方案:100%使用/ var / log /目录。 看起来cron无法更新自己的日志,因此在您希望保存更改时会写出类似的错误。

当我删除额外的日志文件时,问题就解决了。

祝你好运!

答案 1 :(得分:2)

如果存储cron文件的卷空间不足,也会出现此错误(特别是如果错误指示无效分钟位于第0列)。

答案 2 :(得分:1)

根据crontab.guru* * * * **\1 * * * *基本上是相同的,尽管您可能想要尝试替代方案,以防您的系统不喜欢其中一个。

但是,在您发布的home.cron中,路径错误。

这:

* * * * * /users/username/desktop/forTrump/script.sh 

应该是:

* * * * * /Users/username/Desktop/forTrump/script.sh

但是,如果脚本需要提升权限,那么您将需要使用root crontab,并且由于在命令之前添加了一个用户列,所使用的行略有不同:

* * * * * root /Users/username/Desktop/forTrump/script.sh

要以root身份安装该脚本,请先切换到root,如下所示:

sudo su

接下来是:

crontab home.cron

同时看到您使用的是Mac OS X,请确保home.cron中的行仅以\n而不是\r\n\r

终止

另请参阅:https://www.dougv.com/2006/12/fixing-a-bad-minute-error-message-when-trying-to-use-crontab-with-certain-unix-text-editors/

  

这个问题最常发生的原因是你正在使用文本编辑器,例如pico,当它到达某个列位置时,通过添加换行来伪造自动换行。

     

Crontab使用换行符(换行符)分隔作业。每个工作占一行。因此,如果crontab在行的第一列中看到除整数之外的任何内容,则会抛出“坏分钟”错误,因为分钟参数是crontab遇到的第一个。

     

简单的解决方法是删除pico / your * nix编辑器添加的换行符。最简单的方法是将光标放在每个额外行的第一个字符上,然后点击退格键,直到该行与前一个行连接起来,并重复该过程,直到整个cron命令在一行上。

答案 3 :(得分:1)

就我而言,我在 docker 容器中遇到了这个错误。错误的原因是文件底部有一个空行,删除了问题就解决了。

答案 4 :(得分:0)

你的cron工作究竟应该什么时候运行 - 每一分钟?

m h dom mon dow command
*/1 * * * *  /users/username/desktop/againstTrump/script.sh