2-18. Raspberry Pi を "USBメモリ" に定期・自動バックアップ
rsyncを使って nginx Webサーバー + WordPress を、USBアダプタにつけたマイクロSDカードに同期させることで、 定期・自動バックアップ 運用を実現。
SDカード/マイクロSDカードの書き換え寿命は1万回くらいらしい。
バックアップ用のマイクロSDカードは、1日1回バックアップを取った場合、
読み・書き・削除で、バックアップ1回につき3回として、
3回 x 365日 x 10年 = 10,950回 ➡ 10年は持つ。
さらに、約 4G の使用領域を、約 29G の領域にバックアップするので、寿命は約 7倍。
70年は持つ。
1. USBアダプタをつけたマイクロSDカードが認識されるか確認。
使用したUSBアダプタとマイクロSDカード。
変換名人
microSDHC(最大32GB)対応リーダーライター
USB2.0 接続 超短&キャップ付 TF-USB2/M
TOSHIBA
microSDHCカード 32GB Class10 (最大転送速度30MB/s)
SD-C032GR7AR30
下記例は、USBに接続した Raspberry Pi のSDカードが認識された状態。
ブート領域が、/dev/sda1 でマウント先が /media/usb0 になり、
/root 領域が、/dev/sda2 でマウント先が /media/usb1 になっている。
USBアダプタをつけたマイクロSDカードが認識されない場合。
USBに挿入したままリブートしなければ認識されない場合がある。
sudo reboot
df -h
※:
USBアダプタが認識される状態の Raspberry Pi SDカードをベースにしないと、
バックアップ後の(同期された)SDカードで起動したとき、USBアダプタが認識されない。
・・・と言う、厄介なことになる。
2. rsync のインストール
同期しない/同期してはいけないディレクトリを登録。
sudo nano rsync-exclude.txt
/proc/*
/sys/*
/dev/*
/boot/*
/tmp/*
/run/*
/mnt/*
/var/tmp/*
/var/log/*
/media/*
3. バックアップ用のマイクロSDカードを準備
①. Raspberry PiのSDカードを Win32DiskImager を使ってバックアップ。
②. バックアップ用のマイクロSDカードにバックアップしたファイルをリストア。
③. もともとのSDカードをRaspberry Piに差し込んでRaspberry Piを起動。
④. USBアダプタにバックアップ用のマイクロSDカードをつけ、USBに装着。
・・・ この時のマウント先を確認 = /media/usb1
4. Raspberry Pi を rsync で同期してみる
rsync を使って実際に同期してみる。
rsync-exclude.txt の指定で、除外リストの読み込み。
/media/usb1/ でUSBメモリを指定。
正常に終了すると、次のようなメッセージが出て、完了。
total size is 3,742,654,824 speedup is 3.75
さらに、/media/usb1/ の中に
rsync-exclude.txt が入っていれば同期ができている。
5. バックアップの実行を cron で自動化する
crontabを編集。
7 5 * * * rsync -a --delete-during --exclude-from=/rsync-exclude.txt / /media/usb1/
上記例は、毎日・5時7分にバックアップを実行。
上記の方法で、上手く運用できていたが、
サーバのバージョンアップを行ったところ、
この方法ではうまく同期できなくなった。
コマンドベースで、且つ、除外ディレクトリを次のように指定すると、問題なく同期できる。
sudo rsync -av --delete --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found","/etc/fstab","/var/share/*"} / /media/usb1/
関連ページ
- 0.Webサーバーの
バージョンアップ - 1.Jessie インストール
- 2.Raspberry Piの最適化
- 3.セキュリティ設定
- 4.SSH接続の公開鍵化
- 5.Webサーバーの構築
- 6.WordPressの設定
- 7.CRONで
MyDNS自動通知 - 8.外部microSDへ
定期・自動BackUp - ------------------------------
- ▶ nginx での
Basic認証設定方法 - ▶ nginx を HTTPS化
SSL通信にする - ------------------------------
- ● 2-1. nginxでの
Webサーバーへ - ● 2-2. ライブカメラへ
- ● 2-3. 監視カメラへ
- ● 電子工作Topページへ
- ------------------------------