クラウドストレージのiDrive導入(Ubuntu)

2014/04/25

クラウドストレージのiDriveを導入してみました。

Linux用にはコマンドラインツールが、Mac OS X・Windows・iOS(iPhone/iPad)・Android・Windows Phone用にはそれぞれ専用アプリが用意され、Web版も当然あります。

ちなみにiOS版でバックアップを取得するとiDrive上の「iPhone」フォルダ配下に「Calendar」「Contacts」「Photos」「Videos」の各フォルダが作成されて用途毎のデータが格納されます。利用者側はフォルダ構成を意識しなくていいのでちょうどAppleが提供するiCloudのような使い方ができます。

ここではLinux用のツールを導入する方法を紹介します。OSはUbuntu 13.04(x86)です。

idevsutilインストール

まずiDriveを制御するidevsutilコマンドをiDrive Download Centerより入手してインストールします(ここでは個人用に使うものとして~/idrive_toolsにインストール)。

% unzip idevsutil_linux.zip
% mkdir ~/idrive_tools
% install idevsutil_linux/idevsutil ~/idrive_tools

コマンドラインツールインストール

次にBackup your Linux / Unix serverよりバックアップやリストアなど目的別に用意されたスクリプト群をインストールします(ここではidevsutilと同様、~/idrive_toolsにインストール)。

% unzip IDrive_for_Linux.zip
% install IDrive_for_Linux/*.pl ~/idrive_tools
% cp IDrive_for_Linux/{*.txt,CONFIGURATION_FILE} ~/idrive_tools

設定

CONFIGURATION_FILEを編集してアカウント情報、バックアップ対象パスなどを設定します。

% cd ~/idrive_tools
% cp -p CONFIGURATION_FILE CONFIGURATION_FILE.org
% vi CONFIGURATION_FILE
USERNAME = *****

iDriveアカウント

PASSWORD = *****

パスワード

ENCTYPE = *****

アカウント設定にて指定した暗号化タイプ(DEFAULT or PRIVATE)

PVTKEY = *****

暗号化タイプをPRIVATEに指定した場合の暗号化キー

EMAILADDRESS = *****

バックアップ結果の通知先メールアドレス

BACKUPSETFILEPATH = *****

バックアップ対象パスを格納したファイル。デフォルトは./BackupsetFile.txt

RESTORESETFILEPATH = *****

リストア対象パスを格納したファイル。デフォルトは./RestoresetFile.txt

EXCLUDELISTFILEPATH = *****

バックアップ対象パスのうちバックアップから除外するパス。デフォルトは./ExcludeList.txt

RESTORELOCATION = *****

リストア先のパス(例: /var/tmp)

BACKUPLOCATION = *****

バックアップを実行した際、iDrive上に作成されるフォルダの名前。ローカルホスト名などを指定

RESTOREFROM = *****

リストアを実行した際、iDrive上のどのフォルダを使用するかを指定。ローカルホストのデータだけでなく、他のホストのバックアップをリストアすることもできる

RETAINLOGS = *****

バックアップのログを残しておくかバックアップの度にクリアするかの指定(前者はYES、後者はNO)

バックアップ/リストア対象パス設定

CONFIGURATION_FILEの編集が終わったらBackupsetFile.txt、RestoresetFile.txt、ExcludeList.txtをそれぞれ編集します。

ここでは~/idrive配下をバックアップするものとし、以下のように設定します(ドットファイルは除外)。

パスは相対指定だとうまくいかないのでフルパスで指定します。

% echo "/home/tony/idrive" > ~/idrive_tools/BackupsetFile.txt
% echo "/home/tony/idrive" > ~/idrive_tools/RestoresetFile.txt
% echo "/home/tony/idrive/.??*" > ~/idrive_tools/ExcludeList.txt

テスト用に以下のファイルを用意しておきます。

% mkdir ~/idrive
% echo "test" > ~/idrive/test.txt
% touch ~/idrive/.test

バックアップスケジュール定義

各種設定が終わったら最後にバックアップのスケジュールを定義します。ここでは毎日3:00にバックアップを取得するものとします(スケジュールを組まない場合はこの作業は不要)。

尚、スケジュール設定スクリプトは/etc/crontabを編集するためsudo付で実行しないと権限不足で書き込みが失敗します。

% sudo ~/idrive_tools/Scheduler_Script.pl 

 Enter Option 
 
 1 -> SCHEDULE BACKUP JOB 
 2 -> EDIT SCHEDULED BACKUP JOB 
 3 -> DELETE SCHEDULED BACKUP JOB 
 
 Enter your choice : <- 1 (スケジュール定義)

 Enter the Day(s) of Week for the Scheduled Backup Job 
 Note: Use comma separation for selecting multiple days (E.g. 1,3,5) 
 
 1 -> MON 
 2 -> TUE 
 3 -> WED 
 4 -> THU 
 5 -> FRI 
 6 -> SAT 
 7 -> SUN 
 
 Enter your choice : <- 1,2,3,4,5,6,7 (全ての曜日)

 Enter Time of Day when Backup Script is supposed to be run 

 Enter Hour (0-23) : <- 3

 Enter Minute (0-59) : <- 0

 Backup Job has been successfully scheduled on MON TUE WED THU FRI SAT SUN at 3:00. 

% sudo vi /etc/crontab <- 実行ユーザのrootを本来のスクリプトの実行ユーザに変更する
:
00 3 * * MON,TUE,WED,THU,FRI,SAT,SUN root cd /home/tony/idrive_tools; perl Backup_Script.pl

バックアップ試験

スケジュール設定が終わったので実際にバックアップを取得してみます(cronの設定と同じスクリプトを実行)。

% cd ~/idrive_tools
% perl Backup_Script.pl

うまくいけばWeb版でiDriveの中を見た時にバックアップが取れていることが確認できます(除外設定したファイルは取られていない)。

バックアップのログは~/idrive_tools/<iDriveアカウント>/LOGS配下にBACKUP~というファイル名で作られているのでうまくいかない場合はここを見るといいでしょう。

大体は存在しないパスを指定したか対象ディレクトリ・ファイルの読み込み権限がないのが原因です。

尚、バックアップの進捗状況はStatus_Retrieval_Script.plで見ることができます。

% perl Status_Retrieval_Script.pl
================BACKUP PROGRESS================ 
/home/tony/idrive/test.txt 100%[=========================]

リストア試験

続いてリストアをやってみます。

% cd ~/idrive_tools
% perl Restore_Script.pl

% grep RESTORELOCATION ~/idrive_tools/CONFIGURATION_FILE
RESTORELOCATION = /var/tmp

以下のようにリストアパスに指定したところにファイルが作成されていればOKです。

% tree /var/tmp/home
/var/tmp/home
└── tony
    └── idrive
        └── test.txt

2 directories, 1 file

Dropboxなどのように専用のクライアントが用意されて自動的にバックアップを取ってくれるのも便利ですが、スケジュールを組んだり任意の時点で手動実行できたりすることで静止点としてのバックアップが取れるのも魅力的ですよね。

これら複数のサービスをうまく組み合わせればより柔軟なバックアップ環境が作れると思います。

招待ボーナス

iDriveには招待ボーナス制度があり、僕の招待URLから登録すると登録者と僕の両方にそれぞれ1GBが追加されますのでよかったら登録してみて下さい(登録者は1GBの追加かアップグレードプランの50%割引かが選べる)。

関連資料・記事