by kusakari
12. 9月 2009 14:45
phpMyBackupProのスケジュールバックアップ機能を確認します。
スケジュールバックアップといっても、cronに登録して定期的に実行するか、吐き出されたバックアップ用のスクリプトファイルをサイトのページに埋め込んで、バックアップ処理を実行する方法になります。
今回は、Windows上で運用しているので、タスクスケジューラーを利用してみたいと思います。
■phpスクリプトファイルの作成
- 「スケジュールバックアップ」を選択します。
「バックアップ期間を選択する」や「バックアップするデータベースを選択する」、チェックボックスなどのバックアップの設定内容に関しては、各自の環境に合わせて設定します。
なお「Select directory where the php file will be placed」は、吐き出すスクリプトファイルの保存場所ですので、書き込みの権限がある場所を選択します。
今回は、下記のように設定しています。
| バックアップ期間を選択する |
: |
At each call |
| Select directory where the php file will be placed |
: |
../phpMyBackupPro/task/ |
| バックアップするデータベースを選択する |
: |
mysql |
| コメント |
: |
ブランク |
| テーブルをエクスポートする |
: |
ON |
| データをエクスポートする |
: |
ON |
| 「drop table」を付加する |
: |
ON |
| 圧縮する |
: |
zip |
ココでは事前に「c:\inetpub\pmbp\phpMyBackupPro」フォルダー内に「task」フォルダーを作成しています。
- 設定が完了したら「スクリプトを表示する」ボタンを押下します。
- 作成されたphpファイルを保存します。
「???.php」となっている部分に、スクリプトファイルのファイル名を入力して「データ保存」ボタンを押下します。
ココではスクリプトファイルの名前を「backup.php」に設定しています。
■PowerShellスクリプトファイルの作成
- 作成したphpファイルにアクセスするPowerShellスクリプトを作成します。
下記のような感じで、ps1ファイルを作成して保存します。
$url = http://localhost/phpMyBackupPro/task/backup.php"
$wc = New-Object System.Net.WebClient
$st = $wc.OpenRead($url)
$st.Close()
または・・・
$url = http://localhost/phpMyBackupPro/task/backup.php"
[void]([Reflection.Assembly]::LoadWithPartialName("System.Web"))
$request = [Net.HttpWebRequest]::Create($url)
$response = $request.GetResponse()
$response.Close()
■タスクの登録
- 下記のコマンドを実行して、タスクスケジューラーに登録します。
SCHTASKS /CREATE /TN "pmbp" /TR "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe c:\task\pmbp.ps1" /SC DAILY /ST 08:00
※毎日午前8時にタスクが実行されます。
なお、コマンドの説明に関しては、下記URLの「Concrete5のジョブを定期的に実行」に分かりやすい説明が書かれています。
http://www.gine.jp/blog/taka/post/Concrete5e381a6e5ae9ae69c9fe79a84e381abe382b7e383a7e38395e38292e5ae9fe8a18c.aspx
0485d4b1-e986-49b2-a012-7cdc000a51a9|0|.0
Category: OSS, SQL
Tags: php