[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[orca-users:11801] Re: メディケアネットジャパン町田さんへお礼



結縁さま、黒瀬です。

On Wed, 17 Feb 2010 09:05:29 +0900 (JST)
koji yuen <koji.yuen@xxxxxxxxx> wrote:

>もう少し教えていただきたいのですが、CRONでバックアップの定時自動実行をおこなっ
>ている場合 異常終了したら、その結果を単独のログファイルに残すようなシェルスク
>リプトはどう書けばよろしいのでしょうか?

pg_dumpコマンド実行時にエラーが発生した場合は、標準エラー出力に
メッセージが出ますので

pg_dump -O orca > orca_backup.dump 2>> /home/orca/backup.log
のようにすれば/home/orca/backup.logにログが書き出されます。

#エラーがない場合は、ログファイルにメッセージは書き出されません。
#また、ログファイルのパスはcronで実行する権限で書き込める必要があります。
#pg_dumpコマンドの前に   date >> /home/orca/backup.log  など日付も
#出力させておくとエラー発生日時が分かって良いでしょう。



バックアップスクリプトのサンプルです。

メール通知やメッセージ表示に関しては、MTAの設定や権限の設定など
各ユーザの環境によって異なるので省略しています。
また、バックアップファイルの間引き等は行っていないので
ディスク容量に気をつけて定期的に古いものを削除してください。
---------------------------------------------------------------------------------------
#!/bin/bash

ORCA_VERSION=`dpkg -s jma-receipt|sed -e "s/^Version:.*:\(.*\)\-.*/\1/p" -e d`
DATE_FORMAT=`date +%Y%m%d`
BACKUP_LOG="/home/orca/backup.log"
BACKUP_FILE="/home/orca/orca_db_${ORCA_VERSION}_${DATE_FORMAT}.dump"

# 日付をログに出力し、pg_dumpでデータベースのバックアップを行う
date >> $BACKUP_LOG
pg_dump -O orca > $BACKUP_FILE 2>> $BACKUP_LOG

# pg_dumpがエラー/成功の場合の処理
if [ $? -ne 0 ]; then
  echo "Backup ERROR!" >> $BACKUP_LOG
  # メール通知/メッセージ表示等を行うコードを以下に書く
  # echo "pg_dump ERROR occured!" | mail -s "ORCA Backup ERROR" your_address@xxxxxxxxxxx
else
  echo "Backup SUCCESS!" >> $BACKUP_LOG
fi

# バックアップファイルの圧縮
gzip -f $BACKUP_FILE
---------------------------------------------------------------------------------------


========================
   Shushi Kurose (kuromabo)
   Email : md81bird@xxxxxxxxxx
========================