Edited at

Linuxのコマンドラインやスクリプトからスマホにプッシュ通知する。(ntfyというツールの紹介)

More than 3 years have passed since last update.

ntfyが便利だったので紹介します。

ntfyを使うと、Linuxのコマンドラインやスクリプトからさまざまなアプリへ簡単にプッシュ通知を送信することができます。Pythonで書かれています。いろいろサポートしていますが、僕が試してみたのは下記の3つ:



  • Pushover (便利ですがアプリが500円ほどします。この価格で安心が買えるなら安いですかね。)


  • slack (チームでslackを使ってるなら便利だと思います。)


  • Pushbullet (Chromeブラウザのアプリは使えますが、今のところスマホのアプリはイマイチでした。)

結果的にPushoverが必要十分だったので、僕はPushoverを使っています。


インストール

pipで簡単にインストールできます。

pip install ntfy

# slackを使う場合
pip install ntfy[slack]


~/.ntfy.ymlを準備する

お使いになるアプリの設定画面からtokenuser_keyを取得して~/.ntfy.ymlに下記のような感じで書き込みます。

---

backends:
- pushover
- slack
- pushbullet
pushover:
user_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
slack:
token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
recipient: "#general"
pushbullet:
access_token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


使ってみる

# 単純にプッシュ通知する

ntfy -t 'Test' send "This is a test."

# コマンドが終了したら通知する(例:sleepコマンド)
ntfy done sleep 10

設定がうまく行っていればアプリに通知が届きます。(-tオプションはメッセージのタイトルです。)


pythonのコードから使ってみる(例: Pushover)

>>> import ntfy

>>> ntfy.backends.pushover.notify(title="Test", message="This is a test.", user_key="XXXXXXXXXXXXXXXXXXXX")


感想

障害アラートや時間のかかるバッチジョブの実行に便利です。