1

単純な bash ファイルを 1 分に 1 回実行される 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

どこが間違っていますか?

ありがとう

4

1 に答える 1

0

この cron の問題をトラブルシューティングするには、いくつかの手順が思い浮かびます。

  1. crontab に入力したスクリプト ファイル名を再確認します。

    $ ls -lah  /home/user/Scripts/script.sh
    $ cat /home/user/Scripts/script.sh
    
  2. そのスクリプトが、crontab がインストールされているユーザーによって実行可能であることを確認してください。つまり、/etc/crontab を使用する場合、root で実行できる必要があります。

    $ crontab -e
    

    ユーザーIDで実行できる必要があります。

    実際にそのスクリプトを実行すると、すでにヒントが得られるはずです。

  3. cron が提供するヒントを探します。実行しているディストリビューションによって、cron が記録するファイルは異なります。Debian の場合、/var/log/syslog IIRC である必要があります

エラー メッセージがどこにも見つからない場合、何が問題なのかを判断するのは困難です。通常、そのポイントに到達すると、立ち止まって寝るか、何か他のことをします。

[編集] そして、私が戻ったとき、私はよくエラーを見つけます。:)

PS:

  1. 最近、ファイル名のドットに問題がありました。一部の cron 実装は、ファイル名にドットが含まれる /etc/cron.* 内のファイルを無視します。ここに文書化されています: http://manpages.ubuntu.com/manpages/xenial/en/man8/cron.8.html Debian 固有のものとして。しかし、Fedoraでもこの問題が発生したと思います。
于 2012-10-30T22:52:34.007 に答える