こんにちは、minoruです。
Ubuntu20.04(正確にはXubuntu20.04)でのcronの使い方備忘録。インストール自体はOSに最初から入っていたはず。
cronスケジュール確認
cronスケジュール編集
上記のコマンドを実行すると、テキストエディタで設定ファイルを編集する画面になる。
設定ファイルの末尾に、このような順番で設定を列挙していけば良い。
分 | 0~59 |
時 | 0~23 |
日 | 1~31 |
月 | 1~12 |
曜日 | 0~7 (0と7が日曜) |
コマンド | 実行したいシェルやコマンドを記述 |
実行タイミングはカンマで区切ったりして、1行で複数のタイミングも指定できる。
設定例 | コメント | |
---|---|---|
リスト | 0,15,30,45 | 例:分(15分ごと) |
範囲 | 1-5 | 例:曜日(月~金) |
共存 | 1,3,7-9 | 例:時(1時、3時、7時、8時、9時) |
間隔値 | 1-5/2 | 例:時(1時~5時まで2時間おきに) |
cronの上書き保存ができないエラートラブル
ある日、久々にcronにコマンドを追加しようとしたところ、いくらコマンドを書き加えて保存しようとしても、何かエラーっぽい表示が出て上書き保存ができない…
私の場合、結論から言うとcronの書式に誤りがありました。
行頭から順番に「分・時」であるにも関わらず、これを逆にして1つ書いてしまっていたため、30時00分と言う全くありえない時間に設定していました。
たったこれだけの事に気づかず、ああでもない、こうでもないと何時間も無駄にしてしまい、本当に泣きそうでした。
やっと間違いに気付いて「あっ…」と思ってちゃんと「00時30分」となるような書式に変更したところ、今までの苦労はなんだったのかと思うほどあっさり上書き保存されました。
nanoの使い方
上記のトラブルに見舞われた時、久しぶりにnanoを使ったのでnanoの操作で何か間違っているのかと四苦八苦してしまったため、覚書として残しておく。
※nano:crontabの編集に推奨されているテキストエディター
crontab -e でnanoが起動したら、普段使っている普通のテキストエディターと同じように入れたい場所に入れたい文字を打てば良い。
書き終わったらCtrl+Xで、ファイルの内容が変更されていれば保存するのか聞いて来るのでyを押せば良い、ShiftもCtrlもいらない、yで良い。
そして最後に書き込むファイルは何か?みたいな感じの事を聞いて来るので、Enterを押せば良い。それで元居たコマンドラインに戻る。
あと、確認を取ったわけでは無いが、ネット上でcronのコマンドには必ず改行が必要と言っているのを見たので、一番最後の行とか、ちょっと気をつけたいところ。
関連がありそうなコマンド
※自動でサービスを起動するコマンドで、詳しくはCron が走っているかどうか確認するを参照すると書いてある。いくらスケジュールを決めてもCron自体が停止していたのでは動作しないのだから、チェックは重要。