WordPressというと「インターネット」「ホームページ・ブログ公開用」という認識が一般的かと思います。
Dockerの登場で、WordPressのインストールが簡単になった昨今。私は、たとえばExcelやWordと同じように、メモや画像を入れておくアプリケーションとして、自宅や職場でWordpressを利用させて頂いています。
個人用ですので、もちろん基本的にインターネットからは見られません。しかしながら、外出先からVPN接続で利用することもできます。
Windows 10 ProのPCで、WordPressサーバを構築しましたが。
問題が1つあります。
PCをシャットダウンすると、Wordpressのデータが消える場合があるようです。
この困った現象は、MacやLinuxで作ったWordPressサーバでは発生せず、また同じDocker for WindowsでもNextcloudやOwncloudでは発生しません。
これはこれで、docker-compose.ymlを調整したり何だりで、直す必要があるのですが。
回避策を兼ねて、WordPressの自動バックアップ設定を行います。
WordPressの自動バックアップ
7zインストール
- バックアップは7zを利用します。7z配布サイトからダウンロードしてインストールします。
バックアップ用バッチファイル
- バックアップ用のバッチファイルを作ります。
3行目にバックアップ先フォルダのパス
4行目にお好きなパスワード
5行目にインストールした7z.exeのファイルパスを設定します
12行目の数字は、バックアップ・ファイルを何世代残すかです。設定が2の場合、3世代のバックアップが残り、それより古いものは自動削除されます。@echo off set tgt=wordpress set dst=<バックアップ先パス> set pwd=<7z圧縮パスワード> set arc="C:\Program Files\7-Zip\7z.exe" set tm0=%time: =0% set dtm1=%date:~0,4%%date:~5,2%%date:~8,2%%tm0:~0,2%%tm0:~3,2%%tm0:~6,2% cd /d %~dp0 :delold set bkrm=2 if not defined bkrm goto dcdown set oldbk=%dst%\%tgt%_*.7z for /f "skip=%bkrm% delims=\n" %%I in ('dir %oldbk% /b /o-D') do del %dst%\%%~nI.7z :dcdown cd %tgt% docker-compose down :backup cd .. %arc% a -p%pwd% %dst%\%tgt%_%dtm1%.7z %tgt% :dcup cd %tgt% docker-compose up -d
- 作成したバッチファイルを、wordpressをインストールしたフォルダと同じ場所に保存します。
- たとえばD:\docker\wordpressで動かしている場合
- バッチファイルをD:\docker\backup_wordpress.batへ保存
タスクスケジューラへ登録
作成したバッチファイルを手動で実行しても、バックアップを行う事ができます。
バックアップ対象は、Docker-compose用のWordPressフォルダを丸ごと圧縮しています。
圧縮前にdocker-composeコマンドでWordPressを終了(down)していますので、圧縮中はWordPressを利用することはできません。
サーバを利用しない時間帯に自動バックアップする設定をして頂ければと思います。
バックアップしたWordPressフォルダは、別のPCに展開して動かすこともできますので、サーバの引っ越しにも使用する事ができます。
バックアップ先として、Nextcloud等のクラウド系ストレージを利用することで、簡単に、他の複数のPCへバックアップ(同期)することも可能です。
大切なデータの消失に備えて、宜しければご利用下さい。