ubuntuで定期的にスクリプトを実行【cron】

ubuntu コンピュータ

パソコンをサーバとして運用していると定期的に自動実行してほしい仕事が出てきます。
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を終了(コマンドモード)

コメント