2024/11/15
hiromasa.anotherさんの所にあったXREA/CORESERVER用のスクリプトを自分の使ってるinetdで動くように変更してみた。
[html]
#!/bin/sh
# 設定
DATABASE=MYSQLデータベース名
DBUSERNAME=MYSQLアカウント名
PASSWORD=MYSQLパスワード
USERHOME=アカウントのディレクトリ(public_htmlの一階層上を指定)
BACKUPDIR=バックアップを置くディレクトリ
KEEPDAY=バックアップを補完しておく日数(2週間だったら14d)
# 初期化
PREFIX=mysql
SERVER=localhostもしくはmysqlサーバーホスト
NOWDATE=`date +%Y%m%d`
DESTDIR=$USERHOME/$BACKUPDIR
DUMPFILE=$PREFIX.$NOWDATE.dump
TARFILE=$PREFIX.$NOWDATE.tar.gz
OLDDATE=`date -v-$KEEPDAY +%y%m%d`
# MySQLダンプ/圧縮
cd $DESTDIR
/usr/local/bin/mysqldump $DATABASE –host=$SERVER -u $DBUSERNAME –password=$PASSWORD > $DUMPFILE
tar zcvf $TARFILE $DUMPFILE
# 処理判定
if [ $? != 0 -o ! -e $TARFILE ]; then
echo "backup faild — ($DUMPFILE)"
exit 1
fi
# 圧縮前ファイル削除
rm -f $DUMPFILE
# n日ローテートを削除
rmfile=$DESTDIR/$PREFIX.$OLDDATE.tar.gz
if [ -e $rmfile ]; then
rm -f $rmfile
fi
[/html]
バックアップを利用して復元する場合はこうするそうだ。
[html]
mysql -u [ユーザ名] -p –default-character-set=utf8 [データベース名] < [バックアップ.dumpファイル]
ex. mysql -u MYSQLアカウント名 -p –default-character-set=utf8 MYSQLデータベース名 < mysql.日付.dump
[/html]