2024.11.14
いまさらNode.jsを知ろう~環境構築も~
2017.09.21
インフラさくらのクラウド日次のアーカイブで削除に失敗したときにメール通知させる
JTです。
さくらのクラウドにて
SCHotBackup
を利用してアーカイブを取得しているとき、アーカイブのタイムアウト→前々日の削除処理ができないでアーカイブが蓄積されてしまい、請求が……というようなことがあり、ログをチェックして処理の衝突ログ(Conflict)があったらメールするようにしています。
※上記アーカイブツールについては
さくらクラウドの日次バックアップはSCHotBackupで
を参照ください。
上記アーカイブスクリプトをcronで実行する際、以下の様にしてログを出力しています
ex.crontabで以下の様な設定
05 01 * * * /bin/bash -l /home/hoge/bin/daily_archive.sh > /home/hoge/log/sakura_auto_archive_`date +\%Y\%m\%d`.log
失敗したときのログ
20xx-xx-xx 01:05:02 [18516]: ===== START ===== 20xx-xx-xx 01:05:02 [18516]: get_disk_list() 20xx-xx-xx 01:05:04 [18516]: ----- START: xxxxxxxxxxxx (hogehoge.jp) ----- 20xx-xx-xx 01:05:04 [18516]: archive:xxxx.archive.json 20xx-xx-xx 01:05:04 [18516]: create_archive() 20xx-xx-xx 01:05:06 [18516]: ARCHIVE_ID: xxxxxxxxxxxx 20xx-xx-xx 01:05:37 [18516]: waiting... (0/512000MB) (中略) 20xx-xx-xx 05:05:30 [18516]: waiting... (326208/512000MB) 20xx-xx-xx 05:05:30 [18516]: [ERROR] Timed out!: xxxxxxxxxxxx 20xx-xx-xx 05:05:30 [18516]: [ERROR] Failed to create archive. 20xx-xx-xx 05:05:30 [18516]: delete_archive() 20xx-xx-xx 05:05:30 [18516]: {"is_fatal":true,"serial":"xxxxxxxxxx","status":"409 Conflict","error_code":"disk_is_copying","error_msg":"(省略)"}
#!/bin/sh # メール送信設定 _to="fuga@hogehoge.jp" _from="sakurabackup@hogehoge.jp" # メール件名設定 _hostname=`hostname` _application="SAKURA Cloud Daily BackUP" _subject="Fatal error!!" _title="[${_application}][${_hostname}]${_subject}" # エラー条件 _error_conditions="Conflict" for file in `find /home/hoge/log/* -type f -mtime -1`; do err_line=`cat $file | grep -a ${_error_conditions}` if [[ ${err_line} = *${_error_conditions}* ]]; then /usr/sbin/sendmail -t <<- EOS MIME-Version: 1.0 Content-Type: text/plain; charset=iso-2022-jp From: ${_from} To: ${_to} Subject: ${_title} SAKURA Cloud Backup Failed ---------- log_file: ${file} error_message: ${err_line} ---------- Please check with a administrator for details. EOS fi done
上記を
00 12 * * * /bin/bash -l /home/hoge/bin/sakurabkup-notice.sh 2>&1
のようにして実行してヒットがあれば見に行く。
連続するようならアーカイブスクリプトのタイムアウト時間(MAX_SLEEP_SECS=)を延ばすなどの対応をしています。
以上、何かの参考になれば。。。
【記事への感想募集中!】
記事への感想・ご意見がありましたら、ぜひフォームからご投稿ください!【テクノデジタルではエンジニア/デザイナーを積極採用中です!】
下記項目に1つでも当てはまる方は是非、詳細ページへ!Qangaroo(カンガルー)
【テクノデジタルのインフラサービス】
当社では、多数のサービスの開発実績を活かし、
アプリケーションのパフォーマンスを最大限に引き出すインフラ設計・構築を行います。
AWSなどへのクラウド移行、既存インフラの監視・運用保守も承りますので、ぜひご相談ください。
詳細は下記ページをご覧ください。
最近の記事
タグ検索