cron.weeklyが実行されないのはなぜですか?


8

Debian6サーバーの/etc/cron.weeklyに配置したbackupscriptが実行されていないことに気付いたとき、この小さなスクリプトを配置して、毎週のcronjobが実行されるかどうかを確認しました。

#!/bin/bash
echo 'CRON RAN' > /var/log/cron-weekly-runcheck.log

として保存しました

-rwxr-xr-x 1 root root 64 Jul 15 02:14 /etc/cron.weekly/runcheck.sh

今日チェックしたところ、作成予定のログファイルが存在しませんでした。
crontabは次のようになります(私の知る限り、これはデフォルトのdebian6 crontabです):

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 1   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

ログファイルで毎週のcronjobに表示されるものはすべて次の行です。

Jul 16 06:47:01 wtwrp /USR/SBIN/CRON[29272]: (root) CMD (test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ))

補足:cron.dailylogrotateが機能するため、機能するようです。cron.hourly中にスクリプトはありません。

何がうまくいかない可能性があるかについてのアイデアはありますか?


rootのメールをチェックして、出力やエラーメッセージの可能性を確認します。rootのメールをどこかで読むことができる場所に転送する/var/spool/mail/rootように/etc/aliases設定していない場合に見つかります。
Ladadadada

@Ladadadadaいい考えです!残念ながらそこには何も心配cron.weeklyはありません。
Cobra_Fast 2012

回答:


18

cron.weeklyスクリプトはによって開始されているrun-parts拡張子を持つすべてのファイルをスキップしています。名前runcheck.shを変更runcheckしてください


4
それは、私が賭けたときに一度だけあなたが気になるものです。
user9517 2012

1

comm1 || comm2 || comm3 || comm4

最初のretval = 0が返されるまで(左から右に)実行されます。チェーンされた残りのコマンドはインタープリターによって最適化され、まったく実行されません

test -x /usr/sbin/anacronretvalとしてゼロを返す場合、他のコマンドは実行されません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.