如何在Raspbian上的Crontab中运行Bash Script?

时间:2016-11-14 20:13:07

标签: bash shell crontab

我在互联网上上下都经历了各种各样的答案和回复,似乎对我没有任何帮助。我想在Raspbian上的Raspberry PI上使用 CRONTAB 每分钟运行一个bash脚本。

我有一个名为 autocon.sh 的脚本,我只是输入crontab,如下所示:

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
...
1 * * * * root bash /home/pi/autocon.sh

但不会运行。 我做错了什么?

2 个答案:

答案 0 :(得分:2)

我不确定'root'部分来自何处,但我猜你想以root身份运行脚本?如果是这样,您需要在root crontab中输入一个条目,运行:

sudo crontab -e

这将打开root用户crontab进行编辑,从该位置运行的任何内容都将以root priveleges运行。

插入以下行:

* * * * * bash /home/pi/autocon.sh

应该这样做:)你的剧本中的1实际上意味着'在1小时后运行',因此在你的情况下,每小时1分钟 - 很容易出错!用*代替它意味着每分钟。

语法为:

minute - hour - day of month - month - day of week - command 

此外,如果您使脚本可执行,请执行以下操作:

sudo chmod +x /home/pi/autocon.sh

您可以省略'bash'命令,只需使用:

* * * * * /home/pi/autocon.sh

除非你在顶部使用两条线作为特别的东西,否则你也可以省略它们。

为清楚起见,Barmar对我原来的帖子发表了评论:

  

在每用户crontab文件中,您不会输入用户名。但在   / etc / crontab你做的。

答案 1 :(得分:1)

要每分钟运行一次cronjob,所有值必须是星号。你的cronjob设置为每小时超过1小时运行。

应该是:

* * * * * root bash /home/pi/autocon.sh