Part2でRaspberry Piに外付けハードディスクをつなげてファイルサーバーにしました。
今回はそのハードディスクのデータをバックアップするためにもう1台外付けハードディスクを導入します。
バックアップ用の外付けHDDを用意する
家に転がっていた日立の3.5インチ内蔵型HDD(250GB)にHDDケースに入れて外付けHDDにします。
玄人志向 3.5型HDDケース SATA接続 USB2.0対応 GW3.5AA-SUP/MB
余分なHDDがない場合は、2.5インチの内臓型のHDDが省エネなのでお勧めです。
2.5インチのHDDなんかの説明は下記に記載しています。
Raspberry Piでファイルサーバ、Part2 外付けハードディスクの導入編
バックアップ用のHDDの設定
HDDのフォーマットの最後のところまで導入編と同じやりかたです。フォーマットの仕方がわからない場合は、そこを見ましょう。
ここではfstabの設定から開始します。
バックアップ用の外付けHDDをRaspberry Piにつないでいる状態から
df -h Filesystem Size Used Avail Use% Mounted on rootfs 7.4G 2.7G 4.4G 39% / /dev/root 7.4G 2.7G 4.4G 39% / devtmpfs 239M 0 239M 0% /dev tmpfs 49M 580K 48M 2% /run tmpfs 5.0M 0 5.0M 0% /run/lock /dev/sda1 7.5G 79M 7.4G 2% /media/usb0 /dev/sdb1 294G 63M 279G 1% /media/hdd1 tmpfs 97M 0 97M 0% /run/shm /dev/mmcblk0p1 56M 9.7M 47M 18% /boot tmpfs 32M 0 32M 0% /tmp tmpfs 16M 0 16M 0% /var/tmp tmpfs 32M 5.8M 27M 18% /var/log /dev/sdc1 230G 60M 218G 1% /media/usb1
/dev/sdc1がバックアップ用の外付けHDDになります。Raspberry PiのUSBにつなげたら自動的に認識しました。
ハードディスクのUUIDを調べます。
sudo blkid /dev/sdc1 /dev/sdc1: UUID="94e9f53e-66f8-46e1-ad51-7f762ec38200" TYPE="ext4"
このUUIDをfstabに追加します。
sudo vim /etc/fstab UUID=94e9f53e-66f8-46e1-ad51-7f762ec38200 /media/hdd2 ext4 defaults 0 0 #fstabを保存してhdd2フォルダを作成する sudo mkdir /media/hdd2
これでリブートすると、新しくつけた外付けHDDが/media/hdd2にマウントするようになります。
現在の構成
df -h Filesystem Size Used Avail Use% Mounted on rootfs 7.4G 2.7G 4.4G 39% / /dev/root 7.4G 2.7G 4.4G 39% / devtmpfs 239M 0 239M 0% /dev tmpfs 49M 400K 49M 1% /run tmpfs 5.0M 0 5.0M 0% /run/lock /dev/sdb1 7.5G 79M 7.4G 2% /media/usb0 /dev/sda1 230G 60M 218G 1% /media/hdd2 /dev/sdc1 294G 63M 279G 1% /media/hdd1 tmpfs 97M 0 97M 0% /run/shm /dev/mmcblk0p1 56M 9.7M 47M 18% /boot tmpfs 32M 0 32M 0% /tmp tmpfs 16M 0 16M 0% /var/tmp tmpfs 32M 104K 32M 1% /var/log
HDDをつける順番でsda1、sdb1、sdc1が変更されます。でもUUIDで設定してあるのでマウントするところは決まっているので問題にはなりません。
定期的に全部バックアップするための設定
hdd1の中身全部をhdd2に定期的にバックアップします。
hdd2の容量が218GBなので、バックアップできる容量も218GBまでになります。
rsyncを使ってバックアップをします。
sudo rsync -av --delete /media/hdd1/ /media/hdd2/ sending incremental file list ./ samba/ samba/public/ samba/public/test.txt samba/public/GoogleDrive/ sent 197 bytes received 46 bytes 486.00 bytes/sec total size is 4 speedup is 0.02
hdd2ディレクトリを見たら、ちゃんとバックアップが取れてました。
試しにhdd1にあるtest.txtを削除してバックアップしてみます。
sudo rm -rf /media/hdd1/samba/public/test.txt sudo rsync -av --delete /media/hdd1/ /media/hdd2/ sending incremental file list samba/public/ deleting samba/public/test.txt sent 119 bytes received 18 bytes 274.00 bytes/sec total size is 0 speedup is 0.00
hdd2のtest.txtもちゃんと削除されていました。
HDD全体をバックアップできて、削除したファイルもバックアップ先で削除されることを確認できました。最後にcrontabにrsyncを設定して、定期的にバックアップするように設定します。
sudo crontab -e 0 17 * * * rsync -a --delete /media/hdd1/ /media/hdd2/
17時にバックアップを取れというcrontabの設定ですが、私のRaspberry Piは時差が9時間あるので、実際は真夜中の午前2時にバックアップが開始されます。
今さらですが、時間設定が紛らわしいので日本時間になるようにRaspberry Piを設定します。
sudo dpkg-reconfigure tzdata Current default time zone: 'Asia/Tokyo' Local time is now: Wed Nov 5 17:00:51 JST 2014. Universal Time is now: Wed Nov 5 08:00:51 UTC 2014.
Asiaの中にTokyoがあるのでそれを設定しました。(参考:RaspberryPiのタイムゾーンを日本時間に設定する)
タイムゾーンを変えたのでcrontabで設定した時刻を日本時間に変更します。
sudo crontab -e 0 2 * * * rsync -a --delete /media/hdd1/ /media/hdd2/
最後にリブートしてcrontabに変更したタイムゾーンが反映されるようにします。
これで毎日夜中の2時にハードディスクをバックアップしてくれます。
以上で外付けハードディスクの丸ごとバックアップのほう完了です。
ちなみにバックアップ用の外付けハードディスクですが、
基本的に少しの時間しか動かないので熱対策はしていません。
コメントを残す