jailbreak時にrsyncでホームディレクトリを復元する
iPhone Dev TeamのPwnage Tool(Windows向けには、firmware 2.0.2にも対応したQuickPwnも出ている)のおかげで、iPhone 3Gに移行した後も無事にjailbreakできています。やはり、純正AppStoreのアプリだけでは満足できないため、今後もjailbreakは必須になりそうです。
しかしながら、jailbreak環境のファームウェア・アップデート作業後は、必ずホームディレクトリが初期状態に戻ってしまうため、以前の環境を復元するのは面倒です。音楽やカレンダ、アドレスブック、AppStore経由のアプリはiTunesとの再同期で以前の環境を復元できますが、それ以外のホームディレクトリのデータ(~/.bashrcや独自にコピーしたファイル)はiTunesでは復元されないため、別途バックアップ/リストアを行う必要があります。
バックアップ/リストアのツールと言えば、やはりrsyncが柔軟で信頼できる代表的なツールであることから、iPod touch/iPhone用のバックアップスクリプトを作成してみました。
バックアップ先はsshログイン可能なPCあるいはMacを前提とします。また、iPod touch/iPhoneはjailbreak済みであり、Cydiaを使ってOpenSSHとrsyncがインストール済みであるとします。
rsyncコマンドは、バックアップ先とiPod touch/iPhoneのどちらで実行しても構いませんが、ここではiPod touch/iPhone上でrsyncコマンドを実行することにします。以下のスクリプトは、iPod touch/iPhoneのホームディレクトリ/var/mobileをPCあるいはMacの~/Backup/iPhone/mobileにバックアップするためのものです。
#!/bin/sh
# backup.sh
rsync -a -E --delete --progress \
--exclude="mobile/Applications" \
--exclude="mobile/Library" \
--exclude="mobile/Media/iTunes_Control*" \
--exclude="mobile/Media/ApplicationArchives" \
--exclude="mobile/Media/DCIM" \
--exclude="mobile/Media/Downloads" \
--exclude="mobile/Media/Photos" \
--exclude="mobile/Media/Purchases" \
--exclude="mobile/Media/com.apple*" \
/private/var/mobile <user>@<backup-host>:~/Backup/iPhone
基本的に、iTunesで復元可能な~/Applications、~/Library、および~/Media内のApple管理対象ディレクトリはバックアップの対象から外しました。
jailbreak後にリストアする場合は、以下のスクリプトを使用します。安全のためリストア時には--deleteオプションを外しています。
#!/bin/sh
# restore.sh
rsync -a -E --progress \
--exclude="mobile/Applications" \
--exclude="mobile/Library" \
--exclude="mobile/Media/iTunes_Control*" \
--exclude="mobile/Media/ApplicationArchives" \
--exclude="mobile/Media/DCIM" \
--exclude="mobile/Media/Downloads" \
--exclude="mobile/Media/Photos" \
--exclude="mobile/Media/Purchases" \
--exclude="mobile/Media/com.apple*" \
<user>@<backup-host>:~/Backup/iPhone/mobile /private/var
なお、スクリプト中のbackup-hostはバックアップ先PCまたはMacのホスト名(またはIPアドレス)に、userはPCまたはMacのアカウント名に置き換えてください。
| 固定リンク
「ipod」カテゴリの記事
- iPhone/iPod touchをお風呂で使う(2008.09.28)
- jailbreak時にrsyncでホームディレクトリを復元する(2008.08.24)
- Sun Microsystems、iPhone SDK公開を受けてiPhone向けJava MEの開発を表明(2008.03.09)
- iPhone SDK β公開とアプリケーション配布の今後(2008.03.09)
- Jay Freeman氏、Debian APTベースの新しいパッケージマネージャCydiaをリリース(2008.03.01)
「iphone」カテゴリの記事
- Flash on iPad (frash)(2010.07.10)
- iPhone 4でpdfを表示させるとこんな感じ(2010.06.24)
- iPhone/iPod touchをお風呂で使う(2008.09.28)
- jailbreak時にrsyncでホームディレクトリを復元する(2008.08.24)
- iPhone 3GにブループランSSで機種変更しました。(2008.07.27)
コメント