QNAP NASにおけるバックアップの種類

2017-09-26

昨年あたりからランサムウェアは大流行しているが、最近WannaCryの流行でまた騒がれているので、NASのバックアップについてのお話。

QNAPには様々なバックアップ(レプリケーションも含む)方法が用意されている。
ランサムウェアの被害を防ぐという意味では、リアルタイムに同期をとるRTRRではなく、スケジュールバックアップの方が良いだろう。

実現方法としては、LAN経由の場合は「NAS to NAS」か「Rsync」でスケジュールを組む、またはUSB等で外付けHDDを接続し、「外部ドライブ」でスケジュールバックアップを設定することが挙げられる。

NAS to NAS と Rsync

こちらによると、実行されるコマンドのオプションが異なるらしい。
Rsyncだと差分ファイルの転送をしようとするが、NAS to NASだと差分ファイルの転送ではなく、ファイルが同じでもファイル全体の転送をするとのこと。

QNAP NAS同士なら「NAS to NAS」で、他社製品などの一般的なrsyncなら「Rsync」を使う。

しかし以前、別のQNAP NASで古いTeraStationへバックアップをとるために、「Rsync」を利用しようとしたが、ファイルがコピーされてもアクセス権限がなくなっていて、ファイルを開くこともできない状態だった。
しょうがないので、QNAPにSSHでログインし、下記のようにシェルスクリプトとcronを組み込む方法で対処した。
 

rsyncとcronで定時バックアップ

rsyncコマンドのシェルスクリプト

例)/usr/local/bin/backup.sh を作成。

#!/bin/sh
rsync -avz --chmod=a+rwx --delete [バックアップ元のパス] rsync://[バックアップ先のパス]

cronでシェルスクリプトの定時実行

下記では毎朝5時にシェルスクリプトが実行される。

> crontab -e
00 5 * * * /usr/local/bin/backup.sh

 

自宅等遠隔地で行う必要がないのであれば、LAN経由で無理にrsyncするのではなく、「外部ドライブ」機能でUSB HDDにバックアップをとるのが簡単で間違いないと思う。

 

※2017/09/26 追記

> crontab -e

で編集すると書いたが、QNAPの場合は再起動するとこの設定が上書きされて消えてしまうらしい。
正しくはこちら。

> vi /etc/config/crontab

[参考] Add items to crontab