ただそれだけのお話。
sudo とかは適時付けてね。
Ubuntu Server 8.04 LTS版を使っていて、ちょっとした処理を定期実行させたいと思った。
そういう場合はcronを使えばいいそうだ。
Ubuntu Serverは元々cronが動いているそうな。
すでにcronによって定期実行がスケジュールされているかの確認
# crontab –l
これで何もなければcronのジョブがないらし。あればそれが動いてるらしい。
実際に編集して、自作のスクリプトを動かすには
# crontab –e
こうするとviが起動して編集出来るようになる
# m h dom mon dow command
*/5 * * * * python ~/twitter/post.py > /dev/null 2>&1
1行目のコメント部分は最初から書いてある。2行目が実際に自分の書いた部分
これの意味は
5分おきに~/twitter/post.py を実行する
ただ、これだけ。
頭から「分(0~59)・時(0~23)・日(0~31)・月(1~12)・曜日(0~7:日~土の順)」と言うことのようです。なので、一定間隔で動かす以外に、毎月第二週目の火曜日にアップデートの処理を自動化したりなど使い道は十人十色。
先頭の"*/5"というので5分ごとを意味しています。一定時間毎にする場合は*/を忘れないよう注意
お尻に付いてる
> /dev/null 2>&1
は意味は分からなくても、無いとエラーで正確に実行されないらしいので付けてみた。
ちゃんと設定したらきちんと動いているか確認
# tail /var/log/syslog
Dec 24 08:35:01 hogehoge /USR/SBIN/CRON[11212]: (root) CMD (python ~/twitter/post.py > /dev/null 2>&1)
こんな感じに出力されていれば出来てるのではないかと思う。
これだけで、Pythonのスクリプトを自動実行できるようになりました。
めでたしめでたし。