rsync によるデータバックアップ

外付け HDD のデータを別の外付け HDD にバックアップを取る。
rsync コマンドが使えそうなので、これを cron で定期実行するスクリプトを作成する。
流れ
- バックアップ用の HDD を接続する
 - 指定のディレクトリにマウントする
 - 同期先のディレクトリを作成しておく
 - rsync のシェルスクリプトを作成する
 - crontab を編集する
 
バックアップ用の HDD を接続する
今回は EC-PHU3W1 を使用する。 USB 分岐ハブに接続したら認識できなかったので、ラズパイに直接接続した。 青ランプが点灯したので OK。
指定のディレクトリにマウントする
以下を参考に実施する。
マウント先は /mnt/[シリアルNo.] とした。
接続時に自動マウントされたことで「すでにマウントされている」というエラーが出る場合がある。
この場合は、接続前に /etc/fstab を編集して、事前にマウント先を指定する必要がある。
UUID=<UUID>	/mnt/[シリアルNo.] 	ntfs	defaults 0	1同期先のディレクトリを作成しておく
- 同期元:/mnt/hdd1/src/
 - 同期先:/mnt/[シリアル No.]/dst/
 
rsync のシェルスクリプトを作成する
rsync オプション 同期元フォルダ 同期先フォルダ のように記述する。
#!/usr/bin/env bash
rsync -av --log-file=/mnt/hdd1/log/rsync-`date +"%Y%m%d-%H%M"`.log /mnt/hdd1/src/ /mnt/[シリアルNo.]/dst/
ファイルに実行権限を付与する。
$ chmod a+x backup.shcrontab を編集する
$ crontab -e以下を追記する。
0 9 * * * /mnt/hdd1/backup.sh