• 更新:
  • 投稿:
  • カテゴリィ:

データベース(MySQL)をバックアップ

I?MySQL (by Kevin Severud)
(愛しているから──守りたい)

下記の動作をするシェルスクリプトを自作しました。

  1. MySQL データベースに変更があったら、
  2. データベース全体をバックアップし、
  3. TAR + GZIP 形式で圧縮して、
  4. さらに圧縮ファイルをメール送信する。

残念ながら、今のところMovable Type で利用しているデータベース専用のシェルスクリプトですが、便利に使っています。

下の場所からダウンロードして、環境に合わせて内容を変更し、CRON ジョブなどに設定してご利用ください。

http://asiamoth.com/dl/sh/backup-db.sh

このスクリプトの特徴・特長

よくあるスクリプトのようですが、「データベースに変更が加えられたら、バックアップする」という動作は、けっこう珍しいと思う。ほかに似たスクリプトが見つからなかったため、自作しました。

「私はプロのプログラマです(キリッ」という人が書いたコードでも、けっこう「走らせたら問答無用でバックアップする」というスクリプトばかりなんですよね。このエコな時代に……。

改良したい点

なぜか、「MySQL のデータベースが更新された」ことを、どうやって取得するのかが分かりませんでした。この部分を、ぜひとも改良して欲しいですね。>どなたか

MT(バージョン 5 で確認)だと、最終の更新日時が下の SQL 式で取得できます。

SELECT log_modified_on FROM mt_log ORDER BY log_modified_on DESC LIMIT 1;

MySQL のデータベース自体が更新された日時も、カンタンな SQL 式で絶対に分かるはず。

ということで、添削希望です!!

[2] このページの一番上へ戻る