サーバー移行や万が一に備えてバックアップのWordpressのの手順を備忘録としてまとめておきます。
環境は、Ubuntu+Nginx+PHP+Mysql+Wordpressの環境になります。
今回、下記のサイトを参考にさせていただきました。

プラグインを使わずにWordPressをバックアップする方法
プラグインを使用せずWordpressをバックアップする方法です。バックアップ対象私がWordPressをバックアップする場合は、以下のデータをバックアップしています。定期的にバックアップ WordPressディレクトリ WordPress...
バックアップ項目
バックアップする項目は、
・Wordpress全体
・Wordpressデータベース
の2つです。
WordPress全体のバックアップ
まずは、Wordpress全体のバックアップを実施します。
wordpress ディレクトリをバックアップします。
ここでは、wordpressディレクトリは、/usr/share/nginx の下に配置しています。
ディレクトリ全体を圧縮。
sudo tar cfvz wordpress_$(date +%Y%m%d-%H%M%S).tar.gz -C /usr/share/nginx ./wordpress
wordpressデータベースのバックアップ
次に、データベースのバックアップを行います。
データベースが下記の場合、
データベース名 | wordpress |
ユーザー名 | user-name |
パスワード | pass-word |
mysqldump --single-transaction -u user-name -ppass-word wordpress > wpdb_$(date +%Y%m%d-%H%M%S).sql
バックアップシェルと定期バックアップ
/share/hdd04/_wordpress_backup/ の下にバックアップします。
/usr/share/nginx の下に wordpressのディレクトリがあります。
任意の場所にシェルを作成します。ここでは、/share の下。
wordpress_backup.sh を作成。
#!/bin/bash
### WordPress Directory backup
tar cfvz /share/hdd04/_wordpress_backup/wordpress_$(date +%Y%m%d-%H%M%S).tar.gz -C /usr/share/nginx ./wordpress
### WordPress DB backup
mysqldump --single-transaction -u user-name -ppass-word wordpress > /share/hdd04/_wordpress_backup/wpdb_$(date +%Y%m%d-%H%M%S).sql
### Old Backup Data Delete Setting
find /share/hdd04/_wordpress_backup -name "wordpress_*.tar.gz" -type f -mtime +7 -exec rm {} \;
find /share/hdd04/_wordpress_backup -name "wpdb_*.sql" -type f -mtime +7 -exec rm {} \;
※find~ は7日間経過後バックアップデータを削除するコマンドになりますので必要に応じて変更削除してください。
パーミッション設定。
chmod 744 wordpress_bk.sh
定期実行。corntabを使用します。
sudo crontab -e
下記の行を追加します。毎日AM4:45にバックアップをします。
# Backup wordpress and SQL data at 4:45 AM on the Everyday
45 04 * * * sudo /share/wordpress_backup.sh
リストア
wordpress全体を解凍する
sudo tar xzfv wordpress_%Y%m%d-%H%M%S.tar.gz
※%Y%m%d-%H%M%S →年月日-時分秒
ディレクトリ置き換え
sudo mv wordpress /usr/share/nginx/wordpress
データベースを置き換える
mysql -u wpadmin -p wpdb < wpdb_%Y%m%d-%H%M%S.sql
※データ移行などでデータベースがない場合はあらかじめ作成してから置き換え。
コメント