Baculaのバックアップ通知をLINEに送ってみる

投稿者: | 2017年3月27日

BaculaとLINE Notifyを連携して、バックアップ実行時の通知をLINEグループに送ってみました。

LINEは「LINE Notify」というサービスを2016年よりはじめました。 このLINE Notifyは、プログラムやコマンドを使って、任意のLINEグループにメッセージを送信することができます。

LINE Notifyの使い方は、こちらのLINE Notify開発者の方のブログ(http://developers.linecorp.com/blog/ja/?p=3784)をご参照ください。 もしくは、LINE Notifyでググると色々と使い方が出てきます。

さて、Baculaでの通知設定ですが、Jobリソース内にRunScriptというサブリソースを定義するだけです。

LINE Notifyでトークンを発行したら、[access_token]部分を、そのトークンに差し替えてみてください。

 

Job {
Name = “TEST”
Type = Backup
Level = Full
Client = bacula-fd
FileSet = “Full Set”
Schedule = “WeeklyCycle”
Storage = File1
Messages = Standard
Pool = File
Priority = 10

RunScript {
RunsWhen = After
Command = “curl -X POST -H ‘Authorization: Bearer [access_token]’ -F ‘message=バックアップが実行されました。Status:%e Client:%c JobID:%i’ https://notify-api.line.me/api/notify”

# 両方共yesの場合は、実行する度に通知
RunsOnSuccess = yes                          # yes:このJobが成功時に実行
RunsOnFailure = yes                           # yes:このJobが失敗時に実行
}
}

 

上記設定では、バックアップが実行される度毎にLINEに通知がきます。 成功・エラーによって通知を制御するのであれば、「RunsOnSuccess」「RunsOnFailure」の値を適宜してください。

LINE上では、以下のようにLINE Notifyから通知がきます。