rcloneでWebDAVでTeraCloudにrsyncする
NAS使ってるよね
自分のデータ(写真やメール)はだいたいNASにバックアップしています。で、このNASのバックアップというのが困り物で、数GBを越えると無償で使えるクラウドサービスはなくなるし、OneDriveで1TB持ってますが仕事用の領域と私物の領域は分けたい。ということで、長年TeraCloudを使っています。
TeraCloudって?
TeraCloudは1TB/月が1000円を下回る低価格で、ZFSで構築されたロバスト性に優れたストレージクラウドサービスです。ZFSですから自分が使わないという選択肢がないわけです。
また、長期増サービスというのをやっていて、30日毎に10GB使用容量が増えて、最大600GBまで増えるそうです。自分の場合、2015年から使用しているので、今590GBです。もうすぐ上限ですね。
あと、紹介コード「4LBJE」 を入れると紹介された方は5GB使用容量が増えます。自分も2GBくらい増えます。
TeraCloudは、Webブラウザベースのインタフェースも持っていますが、WebDAVを使用することも出来ます。WindowsなどではGoodSyncなどのWebDAV sync用ソフトウェアで簡単に同期・バックアップできますが、Linuxで構築されたNASの場合はちょっと考えないといけません。
WebDAV 用のdavfs2 も試したのですが、流石にFUSEは遅いです。
rcloneって何?
WebDAVに対応したソフトウェアとしてrcloneというのを見つけたので使用してみました。rcloneはgo langで書かれたソフトウェアで、githubでソースコードが公開されています。対応しているストレージサービスも豊富で、WebDAVだけでなく、AWS S3、Amazon Drive、 GCS、Google Drive、Azure Blob、OneDrive、IBM COS S3といった主要クラウドストレージから、Ceph、Swift、ownCloudといったオープンソースのストレージにも対応しています。
また、対応プラットフォームも豊富で、Windows/Macはおろか、Linux、各種BSD、Plan9、Solarisに対応しています。まあ、go langが動けば動くんでしょうね。
rcloneをインストールする(Linux編)
うちのNASはDebianなので、deb形式のファイルをダウンロードしてインストールします。
% wget https://downloads.rclone.org/v1.45/rclone-v1.45-linux-amd64.deb
% sudo dpkg -i rclone-v1.45-linux-amd64.deb
RHEL/CentOSなどはもっと簡単で、yumで直接RPMファイルをインストールできます。
% sudo yum install -y https://downloads.rclone.org/v1.45/rclone-v1.45-linux-amd64.rpm
rclone で TeraCloudに接続する
rclone configコマンドを使用すると、CLIでの設定画面が表示されます。
WebDAVの場合は、rcloneのUsageの通り、「n」でストーレージ名を入れた後にwebdavを選択して、URI、ユーザ、パスワードを設定すればよいです。
URIは、MeraCloudのMyPageに記述されたWebDAV接続URLを、ユーザとパスワードはTeraCloudのログイン時のものを使用します。
rcloud config show で、設定した情報が見れます。自分はわかりやすく、teracloudという名前をつけています。
$ rclone config show
[teracloud]
type = webdav
url = https://ise.teracloud.jp/dav/
vendor = other
user = s-miyaza
pass = パスワード
この状態で、rclone lsd teracloud: を実行すると、rootディレクトリ以下が表示されると思います。
$ rclone lsd teracloud:
-1 2014-03-25 07:53:50 -1 Documents
-1 2018-12-09 00:15:02 -1 Pictures
-1 2018-11-01 21:25:48 -1 mail
rcloneでバックアップする
rclone のバックアップは簡単で、「rclone copyto src dest」を実行するだけです。NASのMaildir をTeraCloudへバックアップするときには、以下のようにしています。削除しないオプション (–delete-excluded) と更新時間を保持するオプション(–use-server-modtime)を指定します。詳しくはcloneのマニュアルを見ましょう。
$ rclone copyto $HOME/Maildir teracloud:mail/Maildir --delete-excluded --use-server-modtime
上記コマンドをcronで実行しています。気をつけるのは多重起動を避けるために、他のrclone実施中には起動しないようにしているくらいです。
pgrep rclone > /dev/null || rclone copyto $HOME/Maildir teracloud:mail/Maildir --delete-excluded --use-server-modtime
メール以外にも、1日1度、画像などのデータもバックアップしています。これで、PC→NAS→TeraCloudという多重バックアップを実現しています。
rcloneの可能性は高い
今回は、普通にWebDAVへのバックアップでしたが、S3やGoogle Driveへのバックアップへも応用できますし、バックアップ先にクラウドストレージを使うときの選択肢としては、かなり有用だと思います。
ということで、TeraCloudで紹介コード「 4LBJE 」付けて、自分のストーレジ容量を増やしてくださいね!(ダイマ)