レンタルサーバのデータをバッチファイルで自動バックアップする

ちょっと前の事になりますが、ファーストサーバのデータ消失事件があったので、レンタルサーバのバックアップ取得を自動化する事にしました。

方針は、サーバに保存されているファイルを、手元にあるWindowsのPCにバッチでダウンロードする事でバックアップを取ります。
ダウンロードしたファイルはミラーリングします。MySQLのDBデータは、mysqldumpコマンドを使用してバックアップ時刻までにバックアップしておく事にします。



今回は、設定内容の保存・バッチ実行・ミラーリングが行えるffftpを使用します。

まずはffftpの接続->ホストの設定からサーバの設定を行い、対話的にファイルのダウンロードが出来る事を確認します。

この際、ホストとローカルの初期フォルダを適切に設定しておきます(それぞれバックアップ元・先フォルダになります)。また、ホストの設定名を控えておきます。


また、オプション->環境設定のメニューより、ミラーリングダウンロードで”ファイル削除前の確認”からチェックを外しておきます。




ffftpの設定が出来たら、次は以下のバッチファイルを作成します。

rem --set        : 接続するホストの設定名を指定する
rem --mirrordown : 接続後ミラーリングダウンロードを行う
rem --force      : ミラーリング開始の確認をしない
rem --quit       : ミラーリング終了後、FFFTPを閉じる
 
rem 開始時刻を記録する
echo start  > log.txt
date /t    >> log.txt
time /t    >> log.txt
 
rem バックアップを行う
"C:\Program Files\ffftp\FFFTP.exe" --set "backup_setting" --mirrordown --force --quit
 
rem 終了時刻を記録する
echo end   >> log.txt
date /t    >> log.txt
time /t    >> log.txt




設定が出来たら、手でバッチを起動してバックアップが取れることを確認後、タスクに登録して自動実行させます。

注意点としては、バックアップを行っている最中に、サーバに致命的なトラブルがあると、サーバのデータが消失した上に、手元のバックアップも不整合が起きてしまいます。
この為、バックアップは2世代以上取る事をお勧めします。

ffftpを使用する場合は、以下の手順で複数世代バックアップを行います。

1.ffftpの設定を2つ作成し、それぞれローカルの初期フォルダを異なるものにします。
2.タスクに登録するバックアップを2つ作り、偶数日と奇数日で使用する設定を変えます。




関連記事

コメントを残す

メールアドレスが公開されることはありません。