サーバーのディレクトリ構成
ウェブサイトのコンテンツや共有フォルダのディレクトリは、ホームディレクトリ (/home/users/xxx/xxx)直下のディレクトリ "web" 以下に配置されています。
"web" ディレクトリ内の各ディレクトリの内容は以下のとおりです。
- www ― メインウェブサイト(www.mtsociety-jp.org)のコンテンツ
- doc ― サイト管理マニュアル(doc.mtsociety-jp.org)のコンテンツ
- excom ― 共有フォルダ
- ml ― 一斉メール配信フォーム(ml.mtsociety-jp.org)
- bin ― バックアップスクリプト等
”www" ディレクトリ(Webサイトのコンテンツ)の内容は、以下のとおりです。
- pub ― 公開するPDFファイル等をアップロードするフォルダ
- nl ― ニュースレターをアップロードするフォルダ
- news, img ― 旧サイト(「以前のお知らせ」)のコンテンツ(以後使用しない)
- wp-* ― WordPress の構成ファイル、メディアライブラリのコンテンツ等
コンテンツ、データベースのバックアップ
ディレクトリ "web" 以下の全ファイルと WordPress のデータベースをホームディレクトリ直下のディレクトリ "backup" に定期的にバックアップするようにしました。
ロリポップユーザーページの「cron 設定」で、毎週月曜日の午前5時にバックアップスクリプトを実行するように設定しています。
週に一回、バックアップが実行された日付のフォルダに、"web" ディレクトリ以下の全ファイルと WordPress のデータベースのバックアップ(sqldump-www.gz, sqldump-doc.gz)が作成されます。
定期的なバックアップ以外に、特定の時点でのスナップショットを作成したい場合は、ロリポップユーザーページの「cron 設定」メニューで「Weekly Backup」と同じジョブを任意の日時に設定して、バックアップを実行して下さい。
なお、バックアップの世代数が50を超えると、古いバックアップから自動的に削除されます。
参考: rsyncだけで実現する!ファイルのバックアップ手法6選 【コマンド例編】
バックアップからのコンテンツの復元
万一、誤操作等によって、ウェブサイトのコンテンツが崩壊してしまったような場合には、SSH でサーバーにログインして、バックアップからコンテンツを復元することができます。
(実行例)
(1) まず、ディレクトリ "www" を一旦削除する。
$ cd ~/web
$ rm -rf www
(2) 次に、ファイルをバックアップからコピーする
$ cp -a ~/backup/20210629/web/www www
(3) 最後に、mysql コマンドで、データベースのバックアップをインポートする。
$ gunzip -c ~/backup/20210629/sqldump-www.gz | mysql -hserver -uusername -ppassword db_name
server(データベースサーバー)、username(ユーザー名)、passowrd(パスワード)、db_name(データベース名)の部分は、共有フォルダの「サーバー関連メモ」を参照してください。



