目次
これまでのあらすじ
月末の定期連絡を自動化してしまいたいという野望を胸にPythonをいじりだした筆者。
まずはPythonからSlackに投稿するプログラムを作成した。
その後、指定したタイミングで自動的に投稿するようにする処理を追加。
しかし、まだ課題は残されていた。
- いちいちターミナル開いてコマンド打たないといけない
- 最終週の月曜日ってどうやって指定したらいいの?
はたして、この2つを解決することはできるのか…!
cronを使おう
先程あげた2つの課題ですが、一気に解決できそうな手段がありました。
それがcronです。
cronについては調べてみてください。と赤さんが圧をかけてきています。
さっそく処理を考えていきましょう。
Python
まず、Pythonのファイルの方で曜日を指定します。
今回は月曜日。
schedule.every().monday.do(job)
cron
次にcrontabで他の要素を設定します
crontab -e
で編集画面を開いて
0 18 21-27 * * hogehoge/script.py
cronは、左端から「分」「時」「日」「月」「曜日」「実行内容」と設定することになっています
ここでのミソは「日」の設定です。
今回は第4月曜日に実行してほしいので、第4月曜日になる日付の範囲を絞り込み、記載しました。
こう書くことで、毎月21~27日の18時になるとプログラムが実行され、更に月曜日だった場合は処理が走るという寸法です。
果報は寝て待て
これで、月末月曜日の18時になれば自動的にメッセージが飛ぶはず…ウッシッシ
月末が楽しみですな!!
〜完〜
…になるのか?