結構StackEditで書いた文書が増えてきたので、壊れたらどうしよう…と心配になってきました。今までさぼってましたが、ちゃんと調べて困らないようにしておこうと思い立ちました。
StackEditは作成した文書をブラウザが持っているストレージに保管しています。これってオフラインで使えるようになるってことですが、万一ブラウザのデータをクリアしちゃうと、あああ、文書がきえちゃったあああ Orz、となってしまいます。なのでバックアップは必須ですね。
StackEditのバックアップのとり方
2つの方法でバックアップします。StackEditが同期できるクラウドストレージは、CouchDB、DropBox、Google Driveの3種類です。今回はGoogle Driveにバックアップを取ろうと思います。
【手動】StackEditの設定、フォルダ、文書のバックアップ
StackEditのメニューから「Settings」→「Utils」→「Export docs & settings」を実行。ファイルがダウンロードされるので、年月日などがわかる名前に変更して保存。(いつダウンロードしてもファイルの名前は同じのため)【自動】文書をバックアップ
- 準備
- 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つの方法で使うことができます。
ブラウザ
Google Driveのサイトの右上にある「Google Driveにアクセス」をクリックすると、ログインしていれば自分のGoogle Driveの領域を見ることができます。
この文書を扱う上で普段使っているWindowsのエクスプローラとの一番大きな差は、同じ文書名の文書を作ることができることです。例えば複数の同じ名前のフォルダを作成できます。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を同期させるにはいくつか方法があります。
- メニューから「Synchronize」→「Force Synchronize」を実行
- メニューから「Synchronize」→「Save on Google Drive」を実行
- 文書タイトル右の同期アイコンをクリック
- StackEditを再起動
同期がおかしいな、と思ったら「4. StackEditを再起動」が有効でした。気づくのにとても時間がかかりました…
考えてみる
どのようなケースがあるか考えてみました。ここで「文書」はStackEditやGoogle Driveで作ったもの、「ファイル」はエクスプローラで作ったものとします。
- StackEditの操作
- 文書の作成
- 同名タイトルの文書の作成
- 文書の編集
- 文書の削除 (下記1)
- タイトルの変更
- すでにある文書と同名タイトルに変更
- ウェブ上のGoogleドライブの操作
- 同名タイトルの文書の作成
- 文書の編集
- 文書の削除 (下記2)
- 文書のゴミ箱からの削除 (下記2)
- タイトルの変更
- すでにある文書と同名タイトルに変更
- 文書の作成
- Googleドライブフォルダ (エクスプローラ)の操作
- ファイルの編集
- ファイルの削除 (ゴミ箱にはある)
- ファイルの削除 (ゴミ箱からも削除)
- ファイル名の変更
- ファイルの作成
こんなものでしょうか。
試してみる
テストケースをすべて試したところ、あれ? と思ったところがあったので、それだけ記録しておきます。
StackEditで文書を削除しても、同期しているGoogle Driveの文書は消えない。
てっきり消えると思っていたので、驚きました。これはStackEditで文書を消してもGoogle Driveにどんどん文書が残っていくということになります。初期タイトル「Title」で作っては消し、作っては消しとしていると、どんどんGoogle Driveにファイルが増えていきます。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. 文書の削除」と同じ結果になりました。
感想
いや~、ほんとに同期って、むずかしい めんどくさい おもしろいですねっ!
調べるの、疲れました…
参考サイト
- StackEditからGoogleDriveに一斉に記事を連携というか同期する方法|アルパカのサンドバッグ (2016-12-21)
StackEditの文書をがっつりGoogle Driveに同期する設定が画面キャプチャで解説されています。わたしもせっかくキャプチャソフト探したんだけど、この記事のほうがわかりやすいので、画面は貼らないことにしました。(^^ゞ
気づいたこと、不具合、ご意見など、コメント待ってます!