cron
crontab

crontabの扱い方

More than 1 year has passed since last update.

crontab -eに記載する

$ crontab -e

# crontabの環境変数を調べる
* * * * * env >/tmp/cron_env

これで /tmp/cron_envファイルにcrontabの初期環境が出力される
HOME=/home/ubuntu
LOGNAME=ubuntu
PATH=/usr/bin:/bin
LANG=en_US.UTF-8
SHELL=/bin/sh
PWD=/home/ubuntu

この際にわかるが、PATHがpythonなどに通ってないので
PATHを通してあげないと動かないので

$ crontab -e

# python3パス
PATH=/usr/bin/python3:/usr/bin:/bin

ーーーー
また実行ファイル内で、別のパスを通している場合などはここにも記載しておく
$ crontab -e

# djangoのパス
DJANGO_QIITA_ANALYZER=/vagrant/django-qiita-analyzer/mps_apis

ーーーー
最後に、実行ファイルの設定をする
その際、ログを出力する先も設定しておいて、エラーなど出力させる
$ crontab -e

# 毎日9時00分に実行(日本時間が-9時間なので)
0 0 * * * python3 /vagrant/qiita-analyzer/qiita-analyzer/article_collection.py >/vagrant/qiita-analyzer/qiita-analyzer/cron_log/logfile 2>&1

これで、ubuntu上でもcrontabが使える