LoginSignup
22
26

More than 5 years have passed since last update.

linuxコマンド終了したらSlackに通知するようにする

Last updated at Posted at 2017-01-14

背景

  • ダウンロードや、機械学習の学習など、長い時間がかかる処理が終わった時に、Slackに通知するようにしたい
  • ntfy があったので使ってみる

目的

  • ntfyを使って見る

概要

  • ntfyについて
  • 使い方

結論

  • ほんの数分で環境を作ることができた。素晴らしい
sh some_task.sh; ntfy send "Finished"

のように通知が可能

すでに動いているプロセスがある場合は、

pstree -p

などでプロセスIDを調べて

while kill -0 <PID> 2> /dev/null; do sleep 1; done; ntfy send "Finished"

で通知が可能

内容

ntfyについて

  • LICENSEはGPL
  • pythonで実装されている
  • いろいろな通知との連携が実装されている
    • 今回はそのうち、Slackとの連携をやってみる

使い方

1. Slackの部屋を作成する

今回は、#generalの部屋に通知をする

2. Slackのトークンを作成

https://api.slack.com/web#authenticationこちらから作成可能

3. python環境の構築

pipが使える状態にする

- '2.7'
- '3.3'
- '3.4'
- '3.5'

travis.ymlを見ると、上記のバージョンで実行できそうである

4. ntfyのインストール
sudo pip install ntfy
echo 'eval "$(ntfy shell-integration)"' >> ~/.bashrc
source ~/.bashrc
5. 設定ファイルの追加(~/.ntfy.yml)
---
backends:
  - slack
slack:
  token: slacktoken
  recipient: "#general"
6. 実行テスト
$ ntfy send "test"

これで、SlackにポストされていればOK!

22
26
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
26