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.