JB必須★自前でアプリデータのバックアップを取る - 大人の自由研究

大人の自由研究 ホーム » 未分類 » JB必須★自前でアプリデータのバックアップを取る

JB必須★自前でアプリデータのバックアップを取る

 例の事故から数日間、、、何とか自前でアプリデータのバックアップが出来ないものかと、大人の自由研究を行っていた。
ひとまず完成したので、ここに備忘録を残しておく。

 まず、今回の目的は、itunesに頼らず、独自にアプリデータのバックアップを行う事。
 リカバリについては、アプリ単位で戻す事が出来る(ここは手動で)

 ポイントとして
 1.定期的にアプリデータのバックアップを取る
 2.アプリデータは指定したアプリのみとする
 3.ZIPで圧縮する
 4.過去一週間分のバックアップデータは保存し、それ以前のものは消去
 5.念のため外部のストレージにも保管する、こちらは消さないので、必要な時に手動で消去
 これらを自動でやってしまおうって思う訳w

 まず、1.の部分については、UNIXであればcronを使い簡単に解決。色々とググってみると、
 launchdという仕組みがあるようだ(→ http://ja.wikipedia.org/wiki/Launchd )
 cronのように指定した時刻にシェルを起動する事も出来るようだ。
 具体的には……

 ファイル名)com.ukkey3.appBackup.plist
 内容)



Label
com.ukkey3.appBackup
ProgramArguments

/var/mobile/appBackup/backup.sh

StartCalendarInterval


Minute
00
Hour
03






 設置場所)/System/Library/LaunchDaemons/

 これで、毎日3時ジャストに/var/mobile/appBackup/backup.shが起動される。


 2.については、定義リストにバックアップしたいアプリの名称「hogehoge.app」を一覧で記載しておく事に。
 3.はzipコマンドで。zipコマンドって標準で入ってるの?よく分からないけど、zipと叩いたら動いたwww
 4.はdateコマンドで、1週間前の日付を取得して消す事に。

 でもって、5.です。
 外部のストレージへの保存。2つの案が思い浮かんだ。1つ目はFTP経由でサーバへアップする。
2つ目は、外部ストレージのDropBoxにアップロードする。
 せっかくなので、DropBoxへのアップロードをしてみようかと。

 便利なツールってあるんですね、コマンドラインから DropBoxへアップロード出来るツールがあった。
 こちらの記事を参考にして導入しました。
 記事では DebBkup のバックアップデータをDropBoxへ保管する方法ですが、dropbox_uploaderの導入までは参考になります。

 まず、cydiaを使って、
 http://repo.takamii.com/beta/
 をレポに追加
 「Dropbox-Uploader」をインストール。また「CA Certificates」もインストールする事がキモですかね。

 dropbox uploader を実行すると初回は、セットアップに入るので、DropboxのDeveloperページをブラウザで開きながら、オペレーションすれば良いかと。
 ※最初「CA Certificates」を入れてなくって、↓セットアップでエラーになってしまった↓

> Token request... sed: can't read /tmp/du_resp_4427: No such file or directory
sed: can't read /tmp/du_resp_4427: No such file or directory
FAILED


 実際に動くとちょっと感動ですw
 朝起きて、ちゃんとバックアップ取れてるかなぁと……、DropBoxを覗くと!!
 そこにはzipファイルがw
 中身を見ると、ちゃんとアプリ毎にディレクトリ分けされてデータが保存さてているw

 ちなみにアプリデータとしてのバックアップ対象は
 ・Documents
 ・Library
 上記2ディレクトリ配下ですが、Library/Caches はバックアップ対象外にしちゃってますw

 次回、ちゃんとリカバリ出来るかチェックしておかないとね(汗)

関連記事
スポンサーサイト
コメント(管理者承認後に公開します)

※未入力可能。メールアドレスは公開されますので、ご注意ください。
非公開コメント

トラックバック

http://ukkey3.blog33.fc2.com/tb.php/508-1b8b9cc1