Arcserve UDP Linux エージェントでバックアップの成功/失敗をメール通知するスクリプトを書いてみた
■ バックアップ完了後にメールを送るスクリプト
Arcserve UDP の Linux Agent では、ジョブやスナップショット取得の前後にスクリプトを実行できます。このスクリプトは Linux バックアップ サーバの以下のフォルダに保存します。
/opt/Arcserve/d2dserver/usr/prepost
という事で、スクリプト保存フォルダに移動して、vi エディタでシェル スクリプトを作成します。スクリプトの名前は適当です。
# cd /opt/Arcserve/d2dserver/usr/prepost
# vi backup_result.sh
以下、スクリプトの内容です。
01: #!/bin/sh
02: if test "${D2D_JOBRESULT}" = "success"
03: then
04: Result="成功"
05: else
06: Result="失敗"
07: fi
08:
09: Body=" ${D2D_TARGETNODE} のバックアップが$Resultしました。\n ジョブID:${D2D_JOBID}"
10: Subject="$Result:${D2D_TARGETNODE} のバックアップ"
11: EmailFrom="<差出人メールアドレス>"
12: EmailTo="<宛先メールアドレス>"
13:
14: export HOME=/root
15: export LD_LIBRARY_PATH=/lib64
16: openssl rsautl -decrypt -inkey ~/private-key.pem -in ~/.mailrc.enc -out ~/.mailrc
17: echo -e "$Body" | mail -s "$Subject" -r $EmailFrom $EmailTo
18: rm -f ~/.mailrc
${D2D_JOBRESULT} はジョブの終了後に渡される環境変数で、これでジョブの成功/失敗を判定します。${D2D_TARGETNODE} はバックアップ対象のノードで、メールのタイトルと本文中に入れてどのノードの通知なのか分かるようにしています。(※1)
11 行目と 12 行目のメール アドレスには実際の電子メールアドレスを入れます。
14 行目では、メール設定ファイル .mailrc に確実にアクセスできるようにするため、root アカウントのホーム ディレクトリのパスを設定しています。15 行目も同様にライブラリのパスを指定しています。
16 行目と 18 行目のコマンドは後で説明します。 設定ファイルの暗号化に関わるもので、SMTP 認証を使わないのであれば削除します。
ファイルを保存したら、アクセス権を変更するのも忘れずに。
# chmod 755 /opt/Arcserve/d2dserver/usr/prepost/backup_result.sh
■ メールの基本設定
メールを送信するにはメール サーバの設定などが必要です。Mail コマンドがインストールされていない環境では、以下のコマンドでインストールします。
# yum install mailx
ホームディレクトリに移動し、.mailrc ファイルを編集します。
# cd
# vi .mailrc
.mailrc ファイルにメール サーバの設定を記入します。以下設定例です。サーバ名やポート番号などを実際の環境に合わせて入力します。今回は使っていませんが、必要に応じて SSL や STARTTLS の設定も追加します。SMTP 認証を使わない場合は2行目以降は不要です。
01: set smtp=smtp://<SMTPサーバ名>:<ポート番号>
02: set smtp-auth=login
03: set smtp-auth-user=<ユーザ名>
04: set smtp-auth-password=<パスワード>
■ .mailrc ファイルの暗号化
ここまでの設定でもメールは飛びますが、SMTP 認証のパスワードが平文で保存されるのが気に入りません。ここから先、openssl コマンドを使って .mailrc ファイルを暗号化していきます。
暗号化キーを作成します。
# openssl genrsa > ~/private-key.pem
ここで作ったキーを使って .mailrc ファイルを暗号化します。
# openssl rsautl -encrypt -inkey ~/private-key.pem -in ~/.mailrc -out ~/.mailrc.enc
復号コマンドはこちら。これを先ほど作った backup_result.sh に追加して、メールを送る前に .mailrc ファイルが平文に戻るようにします。
openssl rsautl -decrypt -inkey ~/private-key.pem -in ~/.mailrc.enc -out ~/.mailrc
平文になった .mailrc をそのままにしておくと暗号化した意味がないので、メール送信後に削除させます。backup_result.sh の最後に以下を追加します。
rm -f ~/.mailrc
■ 実行後スクリプトの設定
Arcserve UDP の Web UI にログインし、冒頭で作ったスクリプトがバックアップ完了後に実行されるように設定します。
対象のジョブを [変更] で開き、[拡張] タブの下の方に行くと、スクリプトを選択できます。今回は [ジョブの完了後] の中から選択し、[次へ] をクリックしてジョブをサブミットします。
あとは、バックアップが実行されるのを待つだけ。ちゃんと成功も失敗も通知されました。やっほう!
以上、ホテがお伝えしました。
<関連記事>
Arcserve UDP Linux エージェントで実行前/後スクリプトを使いたい
Arcserve UDP:一通のメールで全台のバックアップ状況をチェックできる ~ レポートのメール送信
※1 これ以外にも環境変数が多数あり、以下のマニュアルの中で紹介されています。
自動化用の実行前/実行後スクリプトの管理
« 耳より情報: Arcserve High Availability フルシステム シナリオについて ~ 仮想環境/クラウド環境への移行ツール、DR/BCP対策として活用できます!! | トップページ | 導入事例:Arcserve UDP とクラウド ストレージ ゲートウェイの連携 »
「技術情報」カテゴリの記事
- 実はランサムウェア対策にも有用?! 仮想スタンバイって凄い!(2024.09.06)
- Arcserve RHA での 「圧縮転送」 と 「圧縮属性のレプリケート」(2024.07.26)
- Arcserve RHA : XML 形式で取り出したレポート ファイルを Microsoft Edge で見る方法(2024.04.26)
- 超人気コンテンツの動画公開!! 「Arcserve UDP」と「Arcserve Backup」の違い(2024.01.12)
- Arcserve Backup チューンナップ/設定 シリーズ: テープバックアップのパフォーマンス向上(2023.10.27)
「Arcserve UDP」カテゴリの記事
コメント
« 耳より情報: Arcserve High Availability フルシステム シナリオについて ~ 仮想環境/クラウド環境への移行ツール、DR/BCP対策として活用できます!! | トップページ | 導入事例:Arcserve UDP とクラウド ストレージ ゲートウェイの連携 »
貴重な情報をありがとうございました。
スクリプト内容の success のスペルが間違えていましたので修正
したところ正常に結果を表示できるようになりました。
今後訪れる方の参考になれば幸いです。
投稿: 仲田 | 2020年12月29日 (火) 09時28分
仲田様
コメントいただきましてありがとうございます!
これは申し訳ございません……
早速修正いたしました。
ご指摘いただきありがとうございました!!
投稿: ホテ | 2021年1月 5日 (火) 09時42分