MacBook Airの容量がいっぱいだったので、先日安かったNASを買いました。

BUFFALO リンクステーション ネットワーク対応HDD 2TB LS410D0201C
- 出版社/メーカー: バッファロー
- 発売日: 2015/05/26
- メディア: Personal Computers
- この商品を含むブログを見る
それで、ひとしきりバックアップとったあと、MacBookからデータごっそり抜いて空き容量200GBまで戻したんですが、そうするとやっぱり心もとないので、クラウドにバックアップを取ることにしました。
LinkStationは下位機種でもいろいろいじれるみたいなので、早速その通りやってみました。(2015年7月時点の情報です。真似する場合は自己責任で。)
今回アップロード先に選んだのは、Google Nearline Storageです。Amazon Glacierとちがって、取り出すときも3秒程度の待ちが入るのみとなり、おねだんも1GB1円程度なので、お買い得です。
Dropboxはじめとする同期型ストレージでもいいのですが、いまのところ上位プランにしてないのでこちらにおさまりました。
1.SSHを使えるようにする
この方法が今でも使えました。これを使って、acp_commanderでSSHを使えるようにします。
% java -jar acp_commander.jar -t [LinkStationのIPアドレス] -ip [LinkStationのIPアドレス] -pw [LinkStationのadminのパスワード] -c "sed -i 's/UsePAM yes/UsePAM no/g' /etc/sshd_config" % java -jar acp_commander.jar -t [LinkStationのIPアドレス] -ip [LinkStationのIPアドレス] -pw [LinkStationのadminのパスワード] -c "sed -i 's/PermitRootLogin no/PermitRootLogin yes/g' /etc/sshd_config" % java -jar acp_commander.jar -t [LinkStationのIPアドレス] -ip [LinkStationのIPアドレス] -pw [LinkStationのadminのパスワード] -c "(echo [設定したいrootのパスワード]; echo [設定したいrootのパスワード])| passwd" % java -jar acp_commander.jar -t [LinkStationのIPアドレス] -ip [LinkStationのIPアドレス] -pw [LinkStationのadminのパスワード] -c "sed -i 's/SUPPORT_SFTP=0/SUPPORT_SFTP=1/g' /etc/nas_feature" % java -jar acp_commander.jar -t [LinkStationのIPアドレス] -ip [LinkStationのIPアドレス] -pw [LinkStationのadminのパスワード] -c "/etc/init.d/sshd.sh restart"
2.Javaの導入
LinkStationはarmなので、ラズパイの記事を参考に調べたら普通にarm用があったのでインスコできました。
/usr/java/jdk1.8.0_51 あたりに展開するだけのお手軽さ。
.bash_profileとかにJAVA_HOMEを書いときます。後述するcron化する際には、sh自体に書いてきます。
3.jets3tの導入
S3とシンクロするJetS3tがS3Syncより早いらしいという記事を見て、こちらを導入することにしました。ダウンロードして解凍するだけのお手軽パックです。
4.Google Cloud Consoleを有効に
JetSetをダウンロードしたら、GoogleCloudConsoleでスイッチを入れます。
ここがわかりやすかったです。一点違う点は、ストレージクラスを「Nearline」リージョンを「アジア」にしたことくらいでしょうか。
5.設定ファイルを編集
4.で「相互運用性」にチェックを入れるとアクセスキーと非公開キーが手に入るので、それをconfig/synchronize.propertiesの該当行をコメントアウトします。
http://www.jets3t.org/applications/synchronize.html
あとは、バックアップしたいフォルダに、.jets3t-ignoreファイルを設置し、中に
.*
とだけ書いておきました。(これでMacのメタデータファイルがバックアップされなくなる)
6.実行!cron化
ここまでできたら試しに実行します。
[root@LS210DDFD jets3t-0.9.3]# bin/synchronize.sh --provider GS UP <バケット名>/home /mnt/disk1/バックアップしたいパス/Desktop
--provider GSでGoogle Cloud Storageが選択されます。
うまくいったら、こいつをcronに登録し、synchronize.shの先頭にでもJAVA_HOMEを記載しておけば安心です。
たとえば、ソースコードはgitだからいいやとか、Donloadフォルダはいいやとか、.jets3t-ignoreファイルで細かく指定できるので、バックアップ時間とストレージ料金を節約できるので、うまく活用してみてくださいね