パソコンをサーバとして運用していると定期的に自動実行してほしい仕事が出てきます。
cronは設定ファイルに実行したいコマンドと時刻を記述することで自動実行する機能です。
ubuntuに限らず多くのunix系osで採用されている機能です。
windowsであればタスクスケジューラあたりになりますが、あれは時刻以外にもいろいろなトリガーでコマンドを実行出来ます。多機能ではありますがその分複雑である点が特徴です。
その点cronはシンプルに時刻をトリガーとしてコマンドを実行することに特化しています。あれもこれもと機能を欲張るより1つの仕事をしっかりとする、その仕事に対する姿勢には好感がもてます。
設定コマンド
実行したいユーザーでログインしシェルで以下のコマンドを実行。
crontab -e
rootで実行したい場合は
sudo crontab -e
で実行
設定ファイルの書式
デフォルトエディタで設定ファイルが読み込まれるので、以下の書式で設定を記述し保存。
- m
- 分
- h
- 時
- dom
- 日
- mon
- 月
- dow
- 曜日(1.月2.火3.水4.木5.金6.土7と0.日)
- command
- 実行したいコマンドを記述
設定例
毎日14:00にpythonでスクリプトのパスを実行する。
m h dom mon dow command
0 14 * * * /usr/bin/python3 /home/asagao/py/ts2mp4.py 2>&1 >> /home/asagao/py/ts2mp4.log;
vimのコマンド
デフォルトエディタがvimでしたので、設定ファイルを記述する最低限の操作コマンド
- i
- 挿入モード・以降文字入力
- Esc
- コマンドモード
- x
- 文字を削除
- yy
- 一行コピー(コマンドモード)
- dd
- 一行カット(コマンドモード)
- p
- 貼り付け(コマンドモード)
- :w
- 編集内容を保存(コマンドモード)
- :q
- vimを終了(コマンドモード)
- :q!
- 編集内容を保存せずにvimを終了(コマンドモード)
コメント