2017年1月29日日曜日

RaspberryPi3: rsyncとcronの設定

前の話からの続きです。

ラズベリーパイ3には、500GBのハードディスクを2台接続しています。HDDはそれぞれ別々の目的で使用していましたが、バックアップも兼ねて、データ類はHDD1台にまとめて、残りの1台はバックアップに使うことにします。
もともとDLNAサーバーとして公開している領域とバックアップ用として公開している領域がありました。まず領域を1つだけに絞ってバックアップ領域は非公開にします。
pi@raspberrypi:~$ sudo vi /etc/samba/smb.conf
[media]
  comment = RasPi3 media
  path = /mnt/media/samba
  read only = No
  guest ok = Yes
  force user = pi
pi@raspberrypi:~ $ sudo service nmbd restart
pi@raspberrypi:~ $ sudo service smbd restart
空いたほうの領域をrsyncというコマンドを使ってデータの同期を取るようにします。まずはrsyncコマンドをインストールします。
pi@raspberrypi:~ $ sudo apt-get update
pi@raspberrypi:~ $ sudo apt-get rsync
rsyncコマンドを使って、バックアップ領域にデータをコピーします。
pi@raspberrypi:~ $ rsync -av --delete /mnt/media/samba/ /mnt/backup/samba/
rsyncコマンドの詳しい使い方は、下記のサイトを見るといいかも
rsync --delete で泣かないために
http://qiita.com/QUANON/items/2953c52df7f65f2ecee5
あとは、定期的にrsyncコマンドを実行するようにcronの設定を行います。
pi@raspberrypi:~ $ crontab -e
0 3 * * * rsync -av --delete /mnt/media/samba/ /mnt/backup/samba/
pi@raspberrypi:~ $ sudo service cron restart
とりあえずこれで毎日午前3時にバックアップが走るようになります。rsyncは2回目以降は変更部分だけをコピーするようになるので大して時間もかからずに終わるはずです。