転ばぬ先の杖 バックアップということで
ドキュメントルート以下とデータベースのデータをバックアップしてみた。
環境はCentos7です。
Box.comを選んだ理由
無料アカウントで10GB容量もらえるのと、
Webdavでマウントできるので選んでみました。
1.Boxのアカウントを作成
- アカウントもってない場合はこの辺から
Box
2.Boxをマウントできるようにする
- yumでdavfs2をインストール
yum install davfs2
- マウントポイントを作成
mkdir /mnt/box
- davfs2を設定
vi /etc/davfs2/secrets 一番最後に以下を追加 ttps://dav.box.com/dav Boxアカウント(メールアドレス) パスワード
- マウントして確認
mount -t davfs ttps://dav.box.com/dav /mnt/box df -h ファイルシス サイズ 使用 残り 使用% マウント位置 (略) ttps://dav.box.com/dav 50G 716M 50G 2% /mnt/box umount /mnt/box
3.バックアップ用のスクリプト
- BOXをマウント、マウント先にバックアップ、マウント解除という流れ
- DBのパスワードとかドキュメントルートのパスとかは変更してね
vi /root/wp-backup.sh #!/bin/sh # バックアップ先ディレクトリ backuppath='/mnt/box/backup' # Boxをマウント mount -t davfs ttps://dav.box.com/dav /mnt/box # DBバックアップ mysqldump --opt --all-databases --events --default-character-set=binary -u root --password=PASSWORD | gzip > $backuppath/wordpress.sql.gz # WordPressディレクトリバックアップ tar zcf $backuppath/ikemen.tokyo.tar.gz -C /var/vhost/ikemen.tokyo # Boxをアンマウント umount /mnt/box
4.実行後の確認
mount -t davfs ttps://dav.box.com/dav /mnt/box ls -alh /mnt/box/backup/ 合計 25M drwxr-xr-x. 2 root root 152 6月 14 16:14 . drwxr-xr-x. 10 root root 328 6月 14 16:41 .. -rw-r--r--. 1 root root 24M 6月 14 16:14 ikemen.tokyo.tar.gz -rw-r--r--. 1 root root 480K 6月 14 16:14 wordpress.sql.gz
5.cronに登録
- 1日1回朝7時に実行
crontab -e 00 07 * * * /root/wp-backup.sh
今後の課題
- 無料アカウントは1ファイル250MBまでなのでそれくらいになったら差分バックアップとかを考える
コメント