エックスサーバーでMySQLデータベースを自動バックアップする方法

xserver-mysql-backup
  • URLをコピーしました!

当サイトでも毎度お馴染みのエックスサーバー
実は、MySQLデータベースバックアップ自動で取っているとのこと。
さすが!これで何か問題が起こっても安心安心…と高を括ってたら、思わぬ落とし穴が!
バックアップデータを貰うための申請してからしばらく待つこと。
エックスサーバーの公式サイトには以下のように書かれています。

目次

バックアップの必要性

サーバー上のデータは、1日1回、バックアップ専用サーバーに自動でコピーしており、全サーバープランともサーバー領域のWeb・メールデータ「過去14日分」、MySQLデータベース「過去14日分」のデータを保持しています。

引用:自動バックアップ機能 | レンタルサーバーならエックスサーバー

ふむふむ。
エックスサーバーは、自動で過去14日分バックアップデータを保持してくれるのか。
ところがどっこい。

サーバー領域データの場合
サーバーパネル上の「バックアップ」より、ご希望のバックアップ対象データをご指定の上、お申し込みください。
・・・
MySQLデータベースの場合
サーバーパネル上の「MySQLバックアップ」より、ご希望のバックアップ対象データをご指定の上、お申し込みください。
・・・

引用:自動バックアップ機能 | レンタルサーバーならエックスサーバー

なにぃ!?
何度かお世話になったことがありますが、エックスサーバーバックアップデータ要求してから数日かかります。
すぐにでも復旧したいのに、手元に置いてくれないってど~ゆ~こと?

MySQLのバックアップ

と言う訳で、自分でできることは自分でしましょう。
実際には「mysqldump」コマンドを利用してMySQLダンプを取ります。

準備するのも

データベース接続に必要な情報と、保存先フォルダを作成しておきましょう。
保存先フォルダはエックスサーバーバックアップデータを提供する際の受け渡しフォルダでもある「/home/backup」とします。
データベースの接続情報は、[サーバーパネル] > [MySQL設定] をご覧ください。

項目説明
ホスト名下の方に記載あり(例:MariaDB10.X ホスト名|localhost)
ユーザーバックアップ対象データベーズのアクセス権所有ユーザです。
パスワードMySQLユーザを追加する際に自分で設定したパスワードです。
データベースバックアップ対象データベース名です。
バックアップ対象のデータベース情報

バックアップ用シェルスクリプト作成

自動バックアップを行うには、エックスサーバーcron機能を使いますので、そこで定期実行させるシェルスクリプトを作成します。
[]の中には上記で準備したものを使います。

mysqldumpオプションについては以下をご参照ください。

あわせて読みたい
停止せずにMySQLバックアップ!mysqldumpベストオプション データベースのバックアップって、いつも考えさせられますよね。きっちりフルバックアップしたいなら、停止してデータディレクトリごとバックアップするのがベターだと...

解説・注意点

文字コードをUTF-8で指定。
mysqldumpコマンドを使い、ファイル名を/home/backup/dump_[今日の日付].sqlバックアップしています。
[今日の日付]はyymmdd形式です(例:180411)
オプションの後ろ、特に-pとパスワードの間にはスペースを空けないでください。
バックアップデータによるサーバーの容量圧迫を防ぐため、rmコマンド2日以前バックアップデータを削除しています。
保持する期間を変更したい場合は、2を変更してください。

cronで毎日午前3時にバックアップ

なぜ午前3時かと言うと、処理中はサーバーの負荷が上がるので、クライアントにも影響が出ます。
サーバーと利用者双方に負担がかからないよう、アクセスの少ない深夜に行いましょう。
[サーバーパネル] > [Cron設定]で[Cron設定追加]タブをクリックし、以下のように入力します。

0
時間3
*
*
曜日*
コマンド/home/[サーバーID]/backup/backup.sh
コメント(任意)
Cron設定

[サーバーID]はサーバー契約した際のIDです。
インフォパネルのご契約一覧で確認できます。cronの追加をすると、このようになります。

*(アスタリスク)は毎~という意味で、上記の例だと毎月毎日3時0分に実行します。
例えば、毎月1日の午前4時30分の月1回バックアップを取りたい場合は、以下のようになります。

以上。
今回はデータベーズバックアップだけでしたので、次はファイルをまるごとバックアップしたいです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメント一覧 (1件)

エックスサーバーで指定したフォルダを自動で圧縮してバックアップする方法 | Minory へ返信する コメントをキャンセル

CAPTCHA


目次