DBバックアップスクリプト(ローテーション付き)
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
目次~
#contents
**概要 [#v22efdbf]
ZabbixのDB領域を冗長化されていないSSDに変更したことに伴い...
バックアップの際にはZabbix Serverを停止してDBのダンプを取...
スクリプトの起動はcronによる定期実行を前提としている。~
**パラメータ [#t089a1d5]
|ROTATE|保存件数。ファイル名にローテーション番号を付与し...
|OUTPATH|バックアップの生成先ディレクトリ|
|MYSQLDUMP|mysqldumpコマンドのフルパス|
|LOG|バックアップ処理のログ出力先。月次でログファイル名を...
|DBUSER|DBのログインユーザ|
|DBPASSWD|DBのログインユーザのパスワード|
|DBNAME|バックアップ対象とするDB名|
**ソース [#w4abd76a]
#!/bin/sh
# -------------------------------
# ZABBIX Backup Database Script
# -------------------------------
# Version : 1.0
# date :2016/07/09
export LANG=C
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:$PATH
##
## Set
##
## General
ROTATE="10"
## Path
OUTPATH="/home/work/db_backup"
OUTFILE="zabbix_db.dump"
MYSQLDUMP="/usr/bin/mysqldump"
LOG="/var/log/zabbix/auto-backup."`date +%Y%m`".log"
## DB Setting
DBUSER="zabbix"
DBPASSWD="zabbix"
DBNAME="zabbix"
## Backup rotate
cd $OUTPATH
test -f $OUTFILE.gz.$ROTATE && rm -rf $OUTFILE.gz.$ROTATE
while [ $ROTATE -ge 1 ];
do
i=$((ROTATE-1))
if [ -f $OUTFILE.gz.$i ]; then
mv $OUTFILE.gz.$i $OUTFILE.gz.$ROTATE
fi
ROTATE=$i
done
test -f $OUTFILE.gz && mv $OUTFILE.gz $OUTFILE.gz.1
## Execute
echo `date +%Y/%m/%d\ %H:%M:%S`" DB Backup Starting" >> ...
/etc/init.d/zabbix-server stop 2>&1 >> $LOG
echo `date +%Y/%m/%d\ %H:%M:%S`" create database dump" >...
$MYSQLDUMP -u $DBUSER --password=$DBPASSWD $DBNAME > $OU...
echo `date +%Y/%m/%d\ %H:%M:%S`" database dump complete"...
/etc/init.d/zabbix-server start 2>&1 >> $LOG
echo `date +%Y/%m/%d\ %H:%M:%S`" dump file compress" >> ...
gzip $OUTFILE
echo `date +%Y/%m/%d\ %H:%M:%S`" DB Backup End" >> $LOG
# EOF
**処理速度 [#s5327296]
当方環境における動作試験結果。~
-マシンスペック
|サーバ|仮想マシン(VMware vSphere6)|
|CPU|AMD Opteron(tm) Processor 3280 / 2.4GHz / 4core |
|メモリ|8GB|
|HDD(バックアップ元)|RDM接続SSD 128GB(Trancend SSD370S)|
|HDD(バックアップ先)|VMDKファイル(RAID10 / SATA HDD 72...
-バックアップ規模
|バックアップ元DB|25GB|
|ダンプファイルサイズ|11.8GB|
|圧縮後サイズ|1.9GB|
-処理時間
|ダンプ生成時間|9分10秒|
|圧縮時間|16分30秒|
終了行:
目次~
#contents
**概要 [#v22efdbf]
ZabbixのDB領域を冗長化されていないSSDに変更したことに伴い...
バックアップの際にはZabbix Serverを停止してDBのダンプを取...
スクリプトの起動はcronによる定期実行を前提としている。~
**パラメータ [#t089a1d5]
|ROTATE|保存件数。ファイル名にローテーション番号を付与し...
|OUTPATH|バックアップの生成先ディレクトリ|
|MYSQLDUMP|mysqldumpコマンドのフルパス|
|LOG|バックアップ処理のログ出力先。月次でログファイル名を...
|DBUSER|DBのログインユーザ|
|DBPASSWD|DBのログインユーザのパスワード|
|DBNAME|バックアップ対象とするDB名|
**ソース [#w4abd76a]
#!/bin/sh
# -------------------------------
# ZABBIX Backup Database Script
# -------------------------------
# Version : 1.0
# date :2016/07/09
export LANG=C
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:$PATH
##
## Set
##
## General
ROTATE="10"
## Path
OUTPATH="/home/work/db_backup"
OUTFILE="zabbix_db.dump"
MYSQLDUMP="/usr/bin/mysqldump"
LOG="/var/log/zabbix/auto-backup."`date +%Y%m`".log"
## DB Setting
DBUSER="zabbix"
DBPASSWD="zabbix"
DBNAME="zabbix"
## Backup rotate
cd $OUTPATH
test -f $OUTFILE.gz.$ROTATE && rm -rf $OUTFILE.gz.$ROTATE
while [ $ROTATE -ge 1 ];
do
i=$((ROTATE-1))
if [ -f $OUTFILE.gz.$i ]; then
mv $OUTFILE.gz.$i $OUTFILE.gz.$ROTATE
fi
ROTATE=$i
done
test -f $OUTFILE.gz && mv $OUTFILE.gz $OUTFILE.gz.1
## Execute
echo `date +%Y/%m/%d\ %H:%M:%S`" DB Backup Starting" >> ...
/etc/init.d/zabbix-server stop 2>&1 >> $LOG
echo `date +%Y/%m/%d\ %H:%M:%S`" create database dump" >...
$MYSQLDUMP -u $DBUSER --password=$DBPASSWD $DBNAME > $OU...
echo `date +%Y/%m/%d\ %H:%M:%S`" database dump complete"...
/etc/init.d/zabbix-server start 2>&1 >> $LOG
echo `date +%Y/%m/%d\ %H:%M:%S`" dump file compress" >> ...
gzip $OUTFILE
echo `date +%Y/%m/%d\ %H:%M:%S`" DB Backup End" >> $LOG
# EOF
**処理速度 [#s5327296]
当方環境における動作試験結果。~
-マシンスペック
|サーバ|仮想マシン(VMware vSphere6)|
|CPU|AMD Opteron(tm) Processor 3280 / 2.4GHz / 4core |
|メモリ|8GB|
|HDD(バックアップ元)|RDM接続SSD 128GB(Trancend SSD370S)|
|HDD(バックアップ先)|VMDKファイル(RAID10 / SATA HDD 72...
-バックアップ規模
|バックアップ元DB|25GB|
|ダンプファイルサイズ|11.8GB|
|圧縮後サイズ|1.9GB|
-処理時間
|ダンプ生成時間|9分10秒|
|圧縮時間|16分30秒|
ページ名: