运行debian bash文件作为cron作业

时间:2012-10-27 03:15:44

标签: bash cron debian

我似乎无法将简单的bash文件作为每分钟运行一次的cron作业运行。

#!/bin/bash 

NET_INTERFACE=eth0

CURRENT_IP=`/sbin/ifconfig $NET_INTERFACE | sed -n "/inet addr:.*255.255.25[0-5].[0-9]/{s/.*inet addr://; s/ .*//; p}"`

wget -q --delete-after "http://abc.co.uk/raspiUpdate.php?pi=1&ip=${CURRENT_IP}"

在crontab中我有:

 *     *     *     *     *        /home/user/Scripts/script.sh

我哪里错了?

由于

1 个答案:

答案 0 :(得分:0)

要解决此cron问题,请考虑以下几个步骤:

  1. 仔细检查放在crontab中的脚本文件名:

    $ ls -lah  /home/user/Scripts/script.sh
    $ cat /home/user/Scripts/script.sh
    
  2. 检查该脚本是否可由安装了crontab的用户执行。即如果你使用/ etc / crontab,它应该是root用户可执行的,如果你使用

    $ crontab -e
    

    它应该由您的用户标识执行。

    实际上运行该脚本应该已经给你一个提示。

  3. 查找cron提供的提示。根据您运行的分发,cron记录到的文件是不同的。对于debian,它应该是/ var / log / syslog IIRC

  4. 如果您无法在任何地方找到错误消息,则很难说出错了什么。一般来说,如果我达到这一点,我会停下来睡觉或做别的事情。

    [编辑] 当我回来时,我经常发现错误。 :)

    p.s。:

    1. 我最近遇到了文件名中的点问题。一些cron实现忽略了/etc/cron.*中的文件,其文件名中包含点。记录在这里:http://manpages.ubuntu.com/manpages/xenial/en/man8/cron.8.html作为Debian特定。但我想我在Fedora上也有这个问题。