データベースのバックアップを定期的に実行するようスクリプトを作成し、cronを設定する
script作成
vi mysql-backup.sh
#!/bin/bash
PATH=/usr/local/sbin:/usr/bin:/bin
# バックアップ先ディレクトリ
BACKDIR=/backup/mysql
# MySQLrootパスワード
ROOTPASS=xxxxxxxx ← rootのパスワードを記載
# バックアップ先ディレクトリ再作成
rm -rf $BACKDIR
mkdir -p $BACKDIR
# データベース名取得
DBLIST=`ls -p /var/lib/mysql | grep / | tr -d /`
# データベースごとにバックアップ
for dbname in $DBLIST
do
[ $dbname = "performance_schema" ] && continue
table_count=`mysql -u root -p$ROOTPASS -B -e "show tables" $dbname|wc -l`
[ $table_count -ne 0 ] &&
mysqldump --events -u root -p$ROOTPASS $dbname > $BACKDIR/$dbname.sql | logger -t mysqldump
done
実行権限を付与
chmod 700 mysql-backup.sh
実行確認する
sh mysql-backup.sh
cron設定
毎日深夜0時にバックアップを実施することとする
echo "0 0 * * * root /root/mysql-backup.sh" > /etc/cron.d/backup
参考
MySQLデータベース自動バックアップ運用(mysqldump) - CentOSで自宅サーバー構築
MySQLデータベース自動バックアップ運用(mysqldump)

コメント