2017年2月5日日曜日

StackEditで作成した文書をバックアップするにはGoogle Driveでは不十分!?

結構StackEditで書いた文書が増えてきたので、壊れたらどうしよう…と心配になってきました。今までさぼってましたが、ちゃんと調べて困らないようにしておこうと思い立ちました。

StackEditは作成した文書をブラウザが持っているストレージに保管しています。これってオフラインで使えるようになるってことですが、万一ブラウザのデータをクリアしちゃうと、あああ、文書がきえちゃったあああ Orz、となってしまいます。なのでバックアップは必須ですね。

StackEditのバックアップのとり方

2つの方法でバックアップします。StackEditが同期できるクラウドストレージは、CouchDB、DropBox、Google Driveの3種類です。今回はGoogle Driveにバックアップを取ろうと思います。

  1. 【手動】StackEditの設定、フォルダ、文書のバックアップ
    StackEditのメニューから「Settings」→「Utils」→「Export docs & settings」を実行。ファイルがダウンロードされるので、年月日などがわかる名前に変更して保存。(いつダウンロードしてもファイルの名前は同じのため)

  2. 【自動】文書をバックアップ

    • 準備
      • Google Driveを使えるよう、Googleアカウントを作成。
      • Google DriveにStackEditとの同期用フォルダを作成。
    • 同期の設定
      StackEditとクラウドストレージを同期させるよう設定。
      • StackEditのメニューから「Synchronize」→「Save on Google Drive」をクリックして表示されるダイアログボックスの「AutoSync」をクリックし、「Every document not yet synchromized」を選択。
      • 「Folder ID」に準備で作成したGoogle Driveの同期用フォルダを指定。

どうして2つもバックアップ方法が必要なの?

StackEditの設定やフォルダ構造はGoogle Driveには保存されません。このためまるまる環境を復元するためには、方法1.の「Export docs & settings」で作成されるファイルが必要になります。

この方法は手動ですのでバックアップし忘れたら、設定、フォルダ構造は諦めなければなりませんが、文書はGoogle Driveと同期することで救うことができます。

また、もしStackEditで文書を誤って消した場合、Google Driveに文書が残っている可能性が高いので探してみる。該当文書を見つけたらStackEditで「Open from Google Drive」を実行すると、同期を保ったまま復活できます。

きをつけること

  • StackEditで同期しているGoogle Drive上のフォルダにはStackEditで消したファイルが残っているので、時々掃除する。

  • どうきがおかしくなったかな? と思ったらStackEditを再起動する。

以上です。


ここからは、上記の結論とした調査結果です。興味のあるかただけ。


調べてみる

StackEditの同期では、Google Driveに文書はどのようにあつかわれるのでしょうか。これがわかれば復旧のとき慌てずにすみますね。少し調べてみます。

Google Driveについて

Google Driveは2つの方法で使うことができます。

  1. ブラウザ
    Google Driveのサイトの右上にある「Google Driveにアクセス」をクリックすると、ログインしていれば自分のGoogle Driveの領域を見ることができます。
    この文書を扱う上で普段使っているWindowsのエクスプローラとの一番大きな差は、同じ文書名の文書を作ることができることです。例えば複数の同じ名前のフォルダを作成できます。

  2. Google Driveアプリ
    Google Driveのサイトの上には「Download」というのがあり、Windows版のGoogle Driveアプリをダウンロードできます。これはエクスプローラのフォルダとしてクラウド上のGoogle Driveを使うことができるようにするものです。
    ブラウザで同じ名前で作ったフォルダはエクスプローラではどう見えるでしょうか。ブラウザでGoogle Driveにtest1というフォルダを3つ作ったところ、エクスプローラではtest1、 test1 (1)、 test1 (2)というフォルダができています。ここは注意しておきましょう。

なおクラウドとPCの間でも同期があり、やはり同期が取れなくなることがあるようで、Google Driveのヘルプサイトには「パソコンと同期できない問題を修正する - ドライブ ヘルプ」にその時の解決方法が記載されています。このことも知っておくといいかもしれません。

StackEditの同期について

StackEditとGoogle Driveを同期させるにはいくつか方法があります。

  1. メニューから「Synchronize」→「Force Synchronize」を実行
  2. メニューから「Synchronize」→「Save on Google Drive」を実行
  3. 文書タイトル右の同期アイコンをクリック
  4. StackEditを再起動

同期がおかしいな、と思ったら「4. StackEditを再起動」が有効でした。気づくのにとても時間がかかりました…

考えてみる

どのようなケースがあるか考えてみました。ここで「文書」はStackEditやGoogle Driveで作ったもの、「ファイル」はエクスプローラで作ったものとします。

  1. StackEditの操作
    1. 文書の作成
    2. 同名タイトルの文書の作成
    3. 文書の編集
    4. 文書の削除 (下記1)
    5. タイトルの変更
    6. すでにある文書と同名タイトルに変更
  2. ウェブ上のGoogleドライブの操作
    1. 同名タイトルの文書の作成
    2. 文書の編集
    3. 文書の削除 (下記2)
    4. 文書のゴミ箱からの削除 (下記2)
    5. タイトルの変更
    6. すでにある文書と同名タイトルに変更
    7. 文書の作成
  3. Googleドライブフォルダ (エクスプローラ)の操作
    1. ファイルの編集
    2. ファイルの削除 (ゴミ箱にはある)
    3. ファイルの削除 (ゴミ箱からも削除)
    4. ファイル名の変更
    5. ファイルの作成

こんなものでしょうか。

試してみる

テストケースをすべて試したところ、あれ? と思ったところがあったので、それだけ記録しておきます。

  1. StackEditで文書を削除しても、同期しているGoogle Driveの文書は消えない。
    てっきり消えると思っていたので、驚きました。これはStackEditで文書を消してもGoogle Driveにどんどん文書が残っていくということになります。初期タイトル「Title」で作っては消し、作っては消しとしていると、どんどんGoogle Driveにファイルが増えていきます。

  2. Google Driveで文書を削除しても、StackEditから文書は消えない。
    安全設計です。ただしGoogle Driveで文書を削除してゴミ箱に入った状態だと、StackEditはまだ文書はGoogle Driveにあると判断します。この状態でGoogle Driveをみにいくと、あれ? 同期しているはずの文書がGoogle Driveにない~! と焦ることになります。

Google Driveのゴミ箱を空にすると、さすがにStackEditも同期できなくなりますが、StackEditを再起動したらそのときにGoogle Driveに文書を作ります。これも安全設計ですね。

なお、Google Driveの話ですが、上記3の「3.ファイルの削除 (ゴミ箱からも削除)」をしても、Google Driveのゴミ箱からは文書は消えないんですね。なので結果は2の「3. 文書の削除」と同じ結果になりました。

感想

いや~、ほんとに同期って、むずかしい めんどくさい おもしろいですねっ!

調べるの、疲れました…

参考サイト

0 件のコメント:
コメントを投稿

気づいたこと、不具合、ご意見など、コメント待ってます!