【定期実行】venv環境でPythonプログラムをcron機能を用いて定期実行
はじめに
Pythonを用いてシステムを開発していくと、そのプログラムを指定した時刻に定期実行したくなる時があります。そのような定期実行時に用いられる機能が、多くのUNIX系OSで標準的に利用される常駐プログラムcronです。cronは、crontabに定期実行の時間設定と実行したいコマンドやプログラムを記載して利用します。
また、venv環境を利用してPythonプログラムを実行するケースもありますが、venv環境を用いてPythonプログラムを定期実行するcrontabの記載方法に関する記事は少なく、困ることがありました。
そこで、本記事ではvenv環境でPythonプログラムをcron機能を用いて定期実行する方法を紹介します。
1. venv環境を利用した際のcrontabの記載方法
venvを利用した際のcrontabの記載方法は、先にvenv/bin/pythonの絶対パスを記載して、その後、実行したいpythonプログラムの絶対パスを記載します。
2. crontabの記載方法
2.1 crontabを開く、表示、削除
crontabを開いたり、内容を表示したり、削除するには以下のコマンドを実行します。
2.2 時刻設定
crontabを開いたら、定期実行の時刻を指定します。指定できる項目は以下のようになっています。
*の位置(左から) | 記号 | 意味 | 設定できる数字 |
---|---|---|---|
1 | m | 分 | 0-59 |
2 | h | 時 | 0-23 |
3 | dom | 日 | 1-31 |
4 | mon | 月 | 1-12 |
5 | dow | 曜日 | 0-7(0,7は日曜日) |
以下にいくつか例を示します。
①毎日10:00にtest.shを実行
②毎月25日16:00にtest.shを実行
③平日(月~金)の8:30にtest.shを実行
④1~3月の各月10日の9:00にtest.shを実行
⑤1分間に1度test.shを実行
⑥毎日10:00-12:00、14:00-16:00にtest.shを実行
オススメ書籍
スキル修得&転職
近年、DXの進展に伴うデジタル人材の需要の高まりに追いついていない状況が続いていると経済産業省がホームページで記載している通り、DX人材、IT人材が不足しているのが現状です。さらにコンピュータの性能向上やAI技術の発展により、よりDX人材、IT人材の需要が高まってきます。さらには、今後の長期間安定して職がある業種とも考えられます。
以下の求人では、IT業界の転職や、IT未経験だけどIT人材を志望する就活を支援してくれます。無料で会員登録もできるので、まずは登録だけでもして様子を見てみてはいかがでしょうか?
▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲
おわりに
本記事ではvenv環境でPythonプログラムをcron機能を用いて定期実行する方法を紹介しました。ご自身で作成したプログラムをPoCなどで実行する際に本手法を活用するケースが多いかと思います。本記事がお役に立てば幸いです。