Ubuntu16 でCronを使ってみる
定期的にプログラムを実行する仕組みを
Cronで行ってみる
参考
まず、確認用の実行プログラムを作る
ファイル名
test.sh
内容
#!/bin/bash cd /home/userA/test/ ls >> log01.txt
権限を設定
$ chmod 755 test.sh
動作を確認
/bin/bash test.sh
Cronのファイルを複写する
cron_01というファイル名でコピーしています。
$ sudo cp /etc/crontab /etc/cron.d/cron_01
ファイルを編集する
$ sudo vim /etc/cron.d/cron_01 / スケジュールを追加する(1分ごとに起動) */1 * * * * ubuntu /bin/bash /home/userA/test/test.sh cronの再起動を行います。(既に起動済の場合は不要) sudo service cron restart
ファイル
log01.txt
が、追加されているか確認する
削除する場合は
/etc/cron.d/cron_01
を、編集(コメントアウト、削除)
Pythonプログラムを起動する場合
起動するスクリプトを変更
test.sh
#!/bin/bash source /home/user/env/bin/activate cd /home/user/test python test.py deactivate
test.pyの例
(フォルダーに時間指定のファイル名を出力する)
import time import datetime def main(): html='logdata' now = datetime.datetime.now() fname = now.strftime('%Y%m%d%H%M%S' + '_01.txt') # => '2019-08-02 02:20:43' with open("log/" + fname, "w") as f: f.write(html) main()
動作確認を行っておくコマンドラインから
/bin/bash test.sh
動作確認ができたら
/etc/cron.d/cron_01
を、編集し、起動するようにする