cron.hourlyの設定

cron.hourlyの設定

cronジョブを/etc/cron.hourlyフォルダに配置して実行するように設定することはできません。

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

cron.hourly 以下のファイルは次のとおりです。

lrwxrwxrwx 1 root root   40 2010-07-26 14:52 check -> /usr/local/xxxx/check-interface.bash

ファイル権限:

-rwxr-xr-x 1 root root 1.6K 2010-09-13 11:22 /usr/local/xxxx/check-interface.bash

var/log/cron ログファイルに報告されたエラーがないようです。台本への言及はなかった。 :(

答え1

問題を隔離するには、/usr/local/xxxx/check-interface.bash を /etc/cron.hourly/check に移動して実行されていることを確認します。

スクリプトが実行されると、所有権/権限またはcronが/usr/local/xxxx/*でスクリプトを実行できないという問題が原因で発生します。

スクリプトが実行されないと、スクリプト自体に問題がある可能性が高くなります。

別の完全な検査で、内容を次の/usr/local/xxxx/check-interface.bashように非常に単純なものに置き換えます。

date > /tmp/check-interfaces.log 2>&1

それから/tmp/check-interfaces.logが実際にcronjobによって満たされていることを確認してください。うまくいけば、元のスクリプトに問題があります。

答え2

確認したいだけです。シャドール前述のように、問題は基本的にcronで使用される "run-parts"アプリケーションが_ASCII文字と-。公式マニュアルページから:

   If  neither the --lsbsysinit option nor the --regex option is given then the names must consist entirely of ASCII upper- and lower-case letters, ASCII digits,
   ASCII underscores, and ASCII minus-hyphens.

関連情報