2016年09月17日

ぼくんちのバックアップ

 まあ週報にも書きましたが、先週メインPCのHDDが完全に逝ったので、これを機にバックアップ体制を見直したり、学生時代からかれこれ20年はダラダラ引き継いでるデータドライブ(まだ卒論とか残ってる)を一気に整理したりしてみた訳ですが、せっかくだから覚え書き。

 バックアップ体制の見直しについては、今までは 複数のPCで扱うデータは Dropbox (無料2GBのみ) に置いてて、それ以外は月イチで別のHDDにバックアップ してたのだけど、今回のクラッシュを機に、ほぼ全データをオンラインストレージに置いて随時バックアップ する事を決意。
 ちょうどつい最近、とうとう諦めて Office365 を買ったので(今までずっと OpenOffice)、それにオマケで付いてきた 1TB の OneDrive を有効活用させてもらうことにしましょう。

OneDriveカオスすぎ
 OneDrive は Microsoft が提供するオンラインストレージですね。Office365 に契約すれば、1TB のOneDrive もオマケで使えるようになります。Office365 が月1000円くらいですが、他のオンラインストレージも大容量プランはそのくらいするので、Office も使える分オトクですね。
 でもこの OneDrive、使い勝手とかは Dropbox とほとんど変わらんものの、似て非なるサービスが2つあって混乱したりファイル数とかに制約があったりで、最近まではイマイチ評判よくなかったみたい。

 そもそも Office365 にも 家庭向け(Solo)企業向け(Business) のプランがあって、ほぼ同じ値段なのにインストール可能な台数とか微妙に違ったり、すでに分かりにくいんですが、オマケで付いてくる OneDrive のサービスも、家庭向けと企業向けで微妙に違います。

 まず名前からして、家庭向けは OneDrive、企業向けは OneDrive for Business と、違うくせに紛らわしい名前なのですが、元々は名前も違う全く別のサービスだったのがだんだん歩み寄って、最近やっとほぼ同じ物になったそうな。それまでは特に for Business の方はかなり不便だったらしい。
 で、僕はインストールできる台数が多い Office365 Business を買ったので、OneDrive for Business とお付き合いする事になる訳ですが、インストール後、アプリ一覧には OneDrive と OneDrive for Business が両方ある ので、とりあえず for Business の方をクリックしてみたところ、
20160917a.png
 ‥‥なんでしょうね、全く意味が分かりません。サービスにログインするとかでもなく、初めて起動して最初に出る画面がコレ。
 正解は、for Business のアプリは無視して無印の方の OneDrive を起動し、Office365 のアカウントでログインすればOK なのですが、だったら for Business とか勝手に入れんなよ。アンインストールもできんし。

 でもこれ、これから使い始める人はまだマシで、昔から for Business を使ってた人はある日突然接続できなくなって問答無用で無印 OneDrive に強制移行させられたり大変だったらしいですよ。バックアップ用にしか使う気ないとはいえ、ちょっと先が思いやられる。
同期フォルダ名が気に食わない
 さて、で、やっと OneDrive の広大なオンラインスペースが使えるようになりましたが、セットアップを済ませると、Dropbox と同様、同期したいファイルを置くルートフォルダが作られます。その名も
OneDrive - {ユーザー名}
 ‥‥‥だからさ、Dropbox もだけど、なんで同期フォルダ名くらい好きに付けさせてくれないんすかね?。おまけに僕は古い人間なので、フォルダ名にスペースとか虫唾が走ります。なんかもう使うのやめようかなとまで思いましたが、せめて Windows にも Unix みたいなOSレベルのシンボリックリンクがあれば何とかできるのにとか思って調べてみたら、
あるんじゃん!
 いやはや、なんで今まで調べもしなかったんだろう。NTFS になった頃から普通に使えてたけど、あんま一般人に多用されたくないのか、いまだにコマンドラインでしか作れないのであまり知られてない模様。ユーザーフォルダ内をぐちゃぐちゃに繋いでいる仕組みもコレだったのね。
 以下で紹介されてる Link Shell Extension を入れれば右クリックメニューだけで作れるようになって、さらに気軽。  ちなみに、シンボリックリンクとは別に、ジャンクションとかハードリンクとか似て非なる概念があるのですが、単に昔はジャンクション(ディレクトリ用)と、ハードリンク(ファイル用)に分かれてたのが、Vista あたりで Unix とそっくりのシンボリックリンクが新設されたそうな。
 なので、古いソフトだとシンボリックリンクを認識できない事もあるので、ジャンクションやハードリンクを使った方が安心みたい。

20160917b.png
 とまあ、これで Dropbox や OneDrive のルートフォルダが見苦しいのは仕方ないとしても、そこを経由しない別のパスでファイルにアクセスできるようになりました。あとこれなら、今後もし別なオンラインストレージに鞍替えする事になっても、各アプリの設定とかいちいち直さなくてよくなりますね。

 ただ、ジャンクションやシンボリックリンクのフォルダそのままをマイドキュメントとかマイミュージックとかにするのはNGみたい。まあ、マイドキュメント内はテンポラリとかの変な名前のファイルも多いので、丸ごとオンラインストレージには向かなそうだけど。
結局こうなった
+- [_online] : オンラインストレージまとめフォルダ。このパスではアクセスしない
|   +- [OneDrive - {ユーザー名}] : OneDrive 同期ルート(名前変更不可)
|   |   +- [doc]       : メインPC以外で不要なドキュメント
|   |   +- [image]     : メインPC以外で不要な画像
|   |   +- [music]     : メインPC以外で不要な音楽
|   |
|   +- [Dropbox]       : Dropbox 同期ルート(名前変更不可)
|       +- [doc]       : 他のPCと共有するドキュメント
|       +- [image]     : 他のPCと共有する画像
|       +- [svnroot]   : svnリポジトリ
|       +- [moblie]    : スマホはここ以下だけ同期
|           +- [doc]   : スマホで見たいドキュメント
|           +- [image] : スマホで見たい画像
|           +- [music] : スマホや他のPCで聞きたい音楽
|
+- [shared]  -> _online/DropBox/
+- [doc]     -> _online/OneDrive - {ユーザー名}/doc/
+- [image]   -> _online/OneDrive - {ユーザー名}/image/
+- [music]   -> _online/OneDrive - {ユーザー名}/music/
|    ※シンボリックリンク等で別名を作って、基本こちらのパスでアクセス
|
+- [project] : アプリ開発プロジェクト展開フォルダ
     ※全体のバックアップはとらず、必要なファイルだけ svn で管理
 ということで、結局のところ、だいたいこんな感じになりましたとさ。方針としては、
  • メインPC以外と共有したいデータは全て Dropbox フォルダ内に配置。原則としてメインPC以外には固有のデータファイルを置かない。
  • スマホにも持っておきたいデータは Dropbox/mobile に置いて、スマホはそこだけ同期。同期には DropSync 使用。
  • メインPCのその他のデータは、ほぼ全て OneDrive フォルダ内に配置 して、随時バックアップする。メインPC以外は OneDrive には基本的にアクセスする必要はない。
    ただしアプリ開発用フォルダ (project) だけは書き換え頻度とテンポラリが多すぎるのでオンライン同期はせず、必要なファイルだけ svn で管理。svn リポジトリは Dropbox で共有してる(詳しくはこちら)。リポジトリもオンラインサービス使えよって話ですが、調べるのめんどい。
  • 全てのオンライン同期ファイルについて、Dropbox, OneDrive 等の名前を含むパスで直接アクセスはせず、シンボリックリンク等で別名の分かりやすいパスを作ってアクセスする。こうしておけば今後バックアップ手法やオンラインストレージを変えたくなっても簡単に対応できる。
  • 月イチのHDDバックアップは今後も一応やる。寝る前にボタン押すだけだし。
    マイドキュメントやユーザーフォルダなどに保存される設定は、このタイミングで必要最低限のバックアップ。そもそも極力マイドキュメントとかにデータファイルを置かない。
 これでHDDクラッシュどころか、家が爆発しようがデータは無事ですね!。安心!
 ちなみに、請負のお仕事とかの時は、もちろん他社様のファイルを勝手にどこぞのオンラインストレージに置く訳にもいかんので、基本ローカルのバックアップだけでなんとかしますよ。どのみち成果物は取引先のサーバに随時アップするし、こっちで頻繁にバックアップとる必要もない。
【オマケ】svnリポジトリのフォルダ変えた場合
 今回、いろいろフォルダ構造を変えたせいで、HDD内にある svn のリポジトリの位置も変えてしまったのですが、その場合、すでにバージョン管理中のプロジェクトの更新やコミットが当然できなくなります。
 その場合、各プロジェクトの .svn フォルダ内に記録されてる参照先のリポジトリURLを変えてやればいいだけなのですが、一見して分からなかったので一応メモ。

 TortoiseSVN であれば、管理フォルダを右クリックして、TortoiseSVN > Relocate (日本語だと「再配置」) で変更できます。
posted by ひこざ at 12:02| Comment(0) | 開発 - 全般
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。