Simplenoteのデータのバックアップ

Simplenote の詳細は、Simplenoteをどうぞ。

上記でも書いた通り、Web 上の情報によると Simplenote のデータ保全性は信頼性が高いとまでは言えないようです。
個人的にはまったく問題が起きたことはありませんが、わりと万が一でも消失しまうとまずいデータの保持として使用しているため、可能性は非常に低いとはいえ、データが消失してしまうような事態は極力避けたいと考えます。
そのための方法を2つ紹介します。

その1:ストレージサービスと組み合わせる

まず1つ目は、Simplenoteのデータをエクスポートし、ストレージサービス上に展開するという泥臭い方法です。
ストレージサービスは Dropbox とか OneDrive とかその手のものです。
Simplenote のエクスポート機能は zip ファイルとしてエクスポートされますが、これを展開したファイルをストレージサービス上にコピーします。
zip ファイルそのものをストレージサービス上で保存しても良いのですが、万が一ファイルが壊れていたりして展開不能なファイルだったりすると、バックアップにも何もならないので、念のため展開したものを置いた方が良いかと思います。
展開して出てくるファイルは単なるテキストファイルなので、開けないということもほぼ無いかと思います。

万が一 Simplenote のデータがおかしくなった場合には、ストレージサービス上にバックアップしたテキストファイルから復元可能です。
また、ストレージサービスの機能によっては履歴付きでバックアップを持っていたりするので、その辺りを活用できるとさらに安全です。

その2:APIを使ってバックアッププログラムを作成する

Simplenote は Python API が公開されているので、これを使用してバックアップ用のプログラムを作成し、これを定時実行することにより、定期的にバックアップすることができます。
自分は Linux 上で実行していますが、Python が動作する環境ならどこでも可能だと思います。
API については SimplenoteのAPI で紹介しています。

単にすべての Simplenote のデータをファイルとして展開するだけなら簡単なので、例を紹介しておきます。

#!/usr/bin/python

import simplenote
import sys

SAVEDIR = '/PATH_TO_ANY/'

import sys
reload(sys)
sys.setdefaultencoding('utf-8')

sn = simplenote.Simplenote('LOGINNAME', 'PASSWORD')
note, status = sn.get_note_list()
for n in note:
    t = n['content'].split('\n', 1)
    with open(SAVEDIR + t[0] + '.txt', 'w') as f:
        f.write(t[1])

上記の例は単にファイルに展開するだけですが、例えば更新があったものだけファイルを作成するとか、そういったこともわりと簡単に出来ます。

自分の場合は、上記のファイル展開したものを rdiff-backupでさらに履歴付きでバックアップするような仕掛けにしています。

コメント

タイトルとURLをコピーしました