crontab に設定しても期待通りに動かない。
というのは時々出遭うけど、そのときにチェックすべき事項が説明されているページをいくつか見かけた。
1. crond が動いているか(自動起動するようになっているか、も確認)
2. パーミッションの確認(実行ビットが立ってない、cron 実行ユーザに実行権がない)
3. crond が出力するログの確認
これは確かにこんな感じで調べると良いんだが、もうひとつ、crontab の定義行に誤りがないか、という確認が必要だろう。
今回のミスは、こうだった
慣れた人ならすぐわかる。 タイミング指定のフィールドが1個足りない。
正しいのはこれ。
crond でフォーマットのチェックをしてくれるとありがたいんだけどなあ。
ただ、コマンド群のあたりには空白が複数含まれててもいいため、フィールド数ではチェックできないし、結局先頭から1個ずつ読んで、5番目を読み込んだところで、曜日がこなくて root がきてるからアウト、程度の判別しかできないかもな。
というのは時々出遭うけど、そのときにチェックすべき事項が説明されているページをいくつか見かけた。
1. crond が動いているか(自動起動するようになっているか、も確認)
2. パーミッションの確認(実行ビットが立ってない、cron 実行ユーザに実行権がない)
3. crond が出力するログの確認
これは確かにこんな感じで調べると良いんだが、もうひとつ、crontab の定義行に誤りがないか、という確認が必要だろう。
今回のミスは、こうだった
*/5 * * * root /path/to/command |
慣れた人ならすぐわかる。 タイミング指定のフィールドが1個足りない。
正しいのはこれ。
*/5 * * * * root /path/to/command |
crond でフォーマットのチェックをしてくれるとありがたいんだけどなあ。
ただ、コマンド群のあたりには空白が複数含まれててもいいため、フィールド数ではチェックできないし、結局先頭から1個ずつ読んで、5番目を読み込んだところで、曜日がこなくて root がきてるからアウト、程度の判別しかできないかもな。