ヘルプ:MySQLデータベース自動バックアップ運用(mysqldump)(CentOS8)
提供:あわ自由帳
メインページ > ヘルプ:目次 > ヘルプ:自宅サーバー構築(CentOS8) > MySQLデータベース自動バックアップ運用(mysqldump)(CentOS8)
MySQLデータベースの自動バックアップを行なう。
バックアップ設定
バックアップスクリプト作成
MySQLデータベースバックアップスクリプト作成
[root@host3 ~]# 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@host3 ~]# chmod 700 mysql-backup.sh ← rootのみ参照・実行できるようにパーミッション変更
バックアップ確認
[root@host3 ~]# ./mysql-backup.sh ← MySQLデータベースバックアップスクリプト実行 [root@host3 ~]# ll /backup/mysql/ ← MySQLデータベースバックアップ確認 合計 536 -rw-r--r-- 1 root root 514526 9月 10 19:56 mysql.sql
バックアップ定期自動実行設定
[root@host3 ~]# echo "0 5 * * * root /root/mysql-backup.sh" > /etc/cron.d/backup