LINE Notifyを使ってサーバのIPアドレス変更時にLINEに通知させる Synology NAS

固定IPアドレスではなく、動的IPアドレスを利用していると、ルータを再起動してしまうと基本的に新しいIPアドレスが割り当てられます。

自宅にNASやサーバを設定している場合はDDNSなどで対応する場合が多いと思いますが、何らかの理由でDDNSがうまく更新されなかった場合、サーバへのアクセスは困難になってしまうことがあります。

どうしてもアクセスしなければならない場合は、自宅のグローバルIPアドレスを入力するほかないのですが、変更されてしまったグローバルIPアドレスを外出先で知ることは難しいです。

そこで、スマホにインストールされているコミュニケーションアプリ「LINE」を使って、NASのグローバルIPアドレスが変更されたときにLINEに通知してくれるスクリプトを使いましょう。

LINE Notifyとは

「LINE」が提供しているWeb連携サービスで、Webサービスからの通知をLINEで受信できます。

例えば、Gmailでメールを受信した際に、LINEに受信したことを通知するメッセージを送ったり、「IFTTT」というサービスと連携することで、天気予報を通知させたりすることができます。

LINE Notifyにログインする

LINE IDが必要です。

LINE Nofityを開く

右上の「ログイン」から登録しているメールアドレスとパスワードを入力

ログイン後、右上から「マイページ」を開きます。

アクセストークンを発行

 

トークンを発行する前に、通知専用のためのLINEグループを作成します。

グループ名はなんでもOKです。

 

マイページから「トークンを発行する

\

トークン名を記入

LINEからのメッセージのタイトルになります。
「IP Notify from NAS」など

次に、先程作った新しいグループを選択してください。

「1:1でLINE Notifyからの通知を受け取る」を選択しても特に問題ないです。

アクセストークンが発行されるのでコピー、メモします。

LINEにはLINE Notifyからのメッセージが届くので、作ったグループに
LINE Notifyを招待して追加してください。

次は、スクリプトに発行したアクセストークンを入力していきます。

通知スクリプトを編集

このスクリプトは私が作成したものではありません。

公開していたサイトが見つからなくなってしまったようなので
問題がありましたら、ご連絡頂けますと幸いです。

変更する場所

1. IPアドレスを保存するテキストファイルのフルパス

readonly FILE_PATH="[ログファイルまでのフルパス]"

例)
readonly FILE_PATH="/volume1/tmp/script/ip-notify.txt"

2. LINE Notifyのパーソナルアクセストークン
先程作成したアクセストークンを入力します。

readonly TOKEN="[アクセストークン]"

サーバにアップロード

NASにスクリプトを配置します。

/volume1/tmp/script/ip-notify.sh

タスクスケージューラーで自動通知させる

Synology NASのDSMからコントロールパネルを開きます。

タスクスケジューラーの「作成」、「予約されたタスク」、「ユーザー指定のスクリプト」を選択

「タスク設定」タブを開いて、「コマンドを実行」欄にスクリプトのフルパスを記入。

/volume1/tmp/script/ip-notify.sh

「スケジュール」タブを開いて

次の期間実行を「毎日

初回実行時間 「00:00

スケジュールサイクルを「15分ごと」 (環境によって変えてください)

最終実行時間を「23:45

「全般」タブで適当なタスク名を設定する

スクリプト実行

スクリプト一覧画面からスクリプトを選んで「実行」する

初回実行時は現在のグローバルIPアドレスがtxtで保存され、LINEに「IPアドレスの監視を開始しました」というメッセージが届けばOKです。

ログファイルの「/volume1/tmp/script/ip-notify.txt」を開いてみるとIPアドレスが保存されているのが分かります。これを少し変更して、IPアドレス変更時の挙動を確認します。

適当に数字を少し変更して保存したあとまたスクリプトを「実行」

すると、LINEからすぐに「IPアドレスが変更されています」とメッセージが届くはずです。

もちろん、IPアドレスが変わらなければメッセージは送られません。

Synology NASでなくてもCronなどに登録すれば利用できると思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です