MySQLデータベース自動バックアップ運用(mysqldump)(AlmaLinux)
提供: すだちWiki
メインページ > Category:自宅サーバー > AlmaLinux 8 で自宅サーバー構築 > MySQLデータベース自動バックアップ運用(mysqldump)(AlmaLinux)
MySQLデータベースの自動バックアップを行なう。
バックアップ設定
バックアップスクリプト作成
MySQLデータベースバックアップスクリプト作成
[root@host4 ~]# vi mysql-backup.sh
#!/bin/bash
PATH=/usr/local/sbin:/usr/bin:/bin
# バックアップ先ディレクトリ
BACKDIR=/backup/mysql
# MySQLrootパスワード
ROOTPASS=xxxxxxxx
# バックアップ先ディレクトリ再作成
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
[root@host4 ~]# chmod 700 mysql-backup.sh ← rootのみ参照・実行できるようにパーミッション変更
バックアップ確認
[root@host4 ~]# ./mysql-backup.sh ← MySQLデータベースバックアップスクリプト実行 [root@host4 ~]# ll /backup/mysql/ ← MySQLデータベースバックアップ確認 合計 536 -rw-r--r-- 1 root root 514526 9月 10 19:56 mysql.sql
バックアップ定期自動実行設定
[root@host4 ~]# echo "0 5 * * * root /root/mysql-backup.sh" > /etc/cron.d/backup
