データベースのバックアップを定期的に実行するようスクリプトを作成し、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)
コメント