定期的にLinuxサーバー上のpythonファイルを実行する
やること
- Ubuntu上のpythonファイルを実行し、slackのチャンネルへと定期的にメッセージを送る
環境
サーバー
- Ubuntu 18.04.1 LTS
クライアント
- Windows 10 Home
コード
-
pythonからslackにメッセージを送るプログラムを定期的に実行します。
このプログラムの説明はPythonでSlackに投稿するにあります。
import slackweb
import os
slack = slackweb.Slack(url="YOURKEY")
slack.notify(text="hello from Linux!")
このファイルをslack_test.pyとしてubuntu上に保存。
-
python slack_test.pyと打ち、slackにメッセージが来るか確認

crontabを使う
定期実行のため、cron(クローン)というシステムを使います。
Cronをさわってみるおを参考にしました。
cronの定期実行一覧にコマンドを登録すれば、自動で実行してくれます。
-
crontab -eで定期実行したいサービス一覧を開く
-
一番下に定期実行する周期と、コマンドを書く
例:
*/1 * * * * /home/yourname/anaconda3/bin/python /home/yourname/Automation/message_to_slack/slack_test.py
まず、最初に「分 時 日 月 曜日」を指定します。ここで*を使うと、「任意の日時」となります。
この指定方法はCronをさわってみるおが詳しいです。
その後ろにpython hogehoge.pyと書きます。Linuxは複数のpythonが入っており、エラーとなる時があるので、今回はフルパスを入れています。
フルパスの取得方法
- pythonのフルパス
which python
でpythonの実行ファイルのパスを出力
- pythonファイルのフルパス
readlink -f hogehoge.pyでファイルのフルパスを取得
-
編集後保存して閉じる。以下のメッセージが出れば成功

1分おきに動作するようにした場合、このようにきっちり届くようになりました。

目次
定期的にLinuxサーバー上のpythonファイルを実行する
やること
環境
サーバー
クライアント
コード
pythonからslackにメッセージを送るプログラムを定期的に実行します。
このプログラムの説明はPythonでSlackに投稿するにあります。
このファイルを
slack_test.pyとしてubuntu上に保存。python slack_test.pyと打ち、slackにメッセージが来るか確認crontabを使う
定期実行のため、cron(クローン)というシステムを使います。
Cronをさわってみるおを参考にしました。
cronの定期実行一覧にコマンドを登録すれば、自動で実行してくれます。
crontab -eで定期実行したいサービス一覧を開く一番下に定期実行する周期と、コマンドを書く
例:
まず、最初に「分 時 日 月 曜日」を指定します。ここで
*を使うと、「任意の日時」となります。この指定方法はCronをさわってみるおが詳しいです。
その後ろに
python hogehoge.pyと書きます。Linuxは複数のpythonが入っており、エラーとなる時があるので、今回はフルパスを入れています。フルパスの取得方法
which pythonでpythonの実行ファイルのパスを出力
readlink -f hogehoge.pyでファイルのフルパスを取得編集後保存して閉じる。以下のメッセージが出れば成功

1分おきに動作するようにした場合、このようにきっちり届くようになりました。
