Euquid Blog.

WEBエンジニアの技術ブログ。主に個人開発で学んだことの備忘録です。

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

Cover Image for 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.sh

crontab を編集する

$ crontab -e

以下を追記する。

0 9 * * * /mnt/hdd1/backup.sh

参考