mysqldumpでMySQL(MariaDB)のバックアップを定期的に行えるようにします。
注意
MariaDB 10.3.38で実行しています。
バージョンによってはこの記事の通りに動作しないかもしれません。
$mysql --version
やselect version()
でバージョンを確認しておきましょう。
$ mysql --version
mysql Ver 15.1 Distrib 10.3.38-MariaDB
-
/var/mysql_backup
に日付の書かれたsqlファイルを保存します - 10.3ではシェルスクリプトに直接認証情報を書けないのでconfファイルに記入しています
cron追加
crontabやらconf.dやらで追加してください。
毎日4時にrootで/var/mysql_backup/mysql-backup.sh
を実行し、その結果を/var/mysql_backup/mysql-dump
に出力しています。
0 4 * * * root /var/mysql_backup/mysql-backup.sh > /var/mysql_backup/mysql-dump
バックアップ用シェルスクリプト (mysql-backup.sh)
Date=`date +%Y%m%d`
backupDir="/var/mysql_backup"
mysqldump --defaults-extra-file=/var/mysql_backup/mysqldump_backup.conf -F -q --single-transaction --add-drop-database --all-databases > ${backupDir}/${Date}.sql
find ${backupDir} -mtime +7 -exec rm -f {} \;
認証情報 (mysqldump_backup.conf)
[mysqldump]
user=backupuser
password=P@$$w0rd
実行して、/var/mysql_backup
内にmysqldumpのファイルが生成されていたら成功です。
参考元
以下の記事を参考に作成しています。