【问题标题】:How to run Bash Script in Crontab on Raspbian?如何在 Raspbian 上的 Crontab 中运行 Bash 脚本?
【发布时间】:2016-11-15 09:00:49
【问题描述】:

我在互联网上浏览了各种各样的答案和回复,但似乎没有什么对我有用。我想在 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

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

【问题讨论】:

  • 1 * * * * 表示在xx:01 每小时运行一次。

标签: bash shell crontab


【解决方案1】:

我不确定“root”部分的来源,但我猜您想以 root 身份运行脚本?如果是这样,您需要在根 crontab 中添加一个条目,通过运行:

sudo crontab -e

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

插入以下行:

* * * * * 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 你做的。

【讨论】:

    【解决方案2】:

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

    应该是:

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

    【讨论】:

      猜你喜欢
      • 2019-03-23
      • 2022-01-05
      • 2020-09-30
      • 2017-12-02
      • 2018-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多