MySQLのバックアップは、GUI管理ツールである[MySQL Administrator]で設定できるが、VBScriptでMySQLのバックアップを実行するサンプルを覚書しておく。

「mysqldump」を使ったバックアップは、DOSのコマンドで実行できるため、バッチファイル(.bat)を作成すれば、わざわざVBScriptで書く必要はないが、今回はバックアップが実行された日付と時刻をバックアップのタイムスタンプとしてバックアップファイルに付加するためにVBScriptで作成した。
バックアップファイルにバックアップ日時を「yyyymmddhhmmss」という書式で付加する。
以下サンプルプログラムと簡単な解説。
スポンサードリンク


サンプルプログラム:
以下のサンプルプログラムは、VBScriptでDOSコマンドを実行するようになっている。
また、バックアップ対象のデータベース名が「test」、MySQLのログインユーザーが「root」、rootユーザーのパスワードが「password」の場合の例。
作成されるバックアップファイルは、実行日時が「2009/01/15 10:09:43」だったとすると"testdb20090115100943_backup.sql"になる。

Set objShell = CreateObject("WScript.Shell")

strTimestamp = replace(cstr(now()),"/","")
strTimestamp = replace(strTimestamp," ","")
strTimestamp = replace(strTimestamp,":","")

objShell.Run "cmd /c C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump -u root -ppassword test>c:\testdb" & strTimestamp & "_backup.sql",false

MySQLのbinフォルダにパスが通っている場合は、mysqldumpまでのフルパスは必要なく、「cmd /c mysqldump ~」でよい。
バックアップファイルに付加するタイムスタンプに時刻が必要なければ、replace関数を使用している3行部分を以下1行に変更すればよい。

strTimestamp = replace(cstr(date()),"/","")

日付についてはOSの言語環境によって日付関数の戻り値が異なる場合があるので動作を事前に確認すること。
このスクリプトをWindowsの「タスク」に登録すれば、毎日のバックアップを自動で行うことができる。

VBScriptでDOSコマンドを実行する方法については、以下の別の記事に書いてあるので参考にしてください。
「VBScript:VBScriptでDOSのコマンドを実行するサンプルプログラム」
スポンサードリンク

  

関連記事

 カテゴリ