MariaDBデータベース自動バックアップ運用(mysqldump)

1.バックアップスクリプト作成

[root@miracle ~]# 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

2.アクセス権をrootのみに変更

[root@miracle ~]# chmod 700 mysql-backup.sh

3.バックアップ実行

[root@miracle ~]# ./mysql-backup.sh

4.バックアップ実行確認

[root@miracle ~]# ll /backup/mysql/
合計 468
-rw-r--r--. 1 root root 477584  9月 15 00:27 mysql.sql

5.バックアップ定期自動実行設定

[root@miracle ~]# echo "0 5 * * * root /root/mysql-backup.sh" > /etc/cron.d/backup

コメント

タイトルとURLをコピーしました