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 」付けて、自分のストーレジ容量を増やしてくださいね!(ダイマ)

Follow me!

Leave a Reply

Your email address will not be published. Required fields are marked *