MySQLデータベースのバックアップをサーバに保存するシェルスクリプトを作成し、cron で定期的に実行します。

1. ファイル 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

2. ファイル db_backup.sh をサーバ上の任意のディレクトリにアップロードします。セキュリティ上、public_htmlの外に設置したほうが良いです。

3. ファイル db_backup.sh のパーミッションを700に変更します。

4. バックアップ保存ディレクトリを作成します。

5. cronに登録します。

cronの設定例(毎日3時12分に実行)
12 3 * * * /home/username/script/db_backup.sh