MySQLデータベースのバックアップをサーバに保存するシェルスクリプトを作成し、cronで定期的に実行します。
- ファイル db_backup.sh を作成します。ファイルの内容は下記の通りです。設定値はお客様のご利用状況に合わせて変更してください。
#!/bin/sh ### 設定ここから ### # MySQLデータベース名 db='db_name' # MySQLユーザ名 user='mysql_username' # MySQLパスワード pass='mysql_password' # バックアップ保存ディレクトリの絶対パス backupdir='/home/username/db_backup' # 何日分のバックアップを保存するか num=7 ### 設定ここまで ### filename=${db}_`date +%y%m%d_%H%M`.sql MYSQL_PWD=${pass} mysqldump -u${user} --set-gtid-purged=OFF ${db} > ${backupdir}/${filename} chmod 600 ${backupdir}/${filename} find ${backupdir} -name "${db}_*.sql" -mtime +${num} -delete
- ファイル db_backup.sh をサーバ上の任意のディレクトリにアップロードします。セキュリティ上、
public_html
の外に設置することをおすすめします。 - ファイル db_backup.sh のパーミッションを 700 に変更します。
- バックアップ保存ディレクトリを作成します。
- cronに登録します。
cronの設定例(毎日3時12分に実行)
12 3 * * * /home/username/script/db_backup.sh