定期的に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分おきに動作するようにした場合、このようにきっちり届くようになりました。