Как стать автором
Обновить

Турбирование бэкапа iphone

На днях пришла мне в голову идея немного поэкспериментировать с синхронизацией контактов iPhone со службами, предоставляемыми штатно приложением iTunes. До этого я синхронизировался с адресной книгой MS Oulook, но тут совершенно неожиданно обнаружил, что в iTunes среди прочего есть возможность синхронизации с персональной адресной книгой google. Выбрал, попробовал. Вроде отсинхронилось. Походил день. Записал пару новых контактов в iPhone. Дошел до компа, синхронизировался. А потом выяснилось, что синхронизация с адресной книгой google идет почему-то в одну сторону. Т.е. данные из google в айфон заливаются, а вот обратно — нет. Плюс появляются куча левых контактов со строками php-кода в полях. Такие странности мне конечно сильно не понравились, я сменил профиль синхронизации обратно на outlook, синхронизировался, потом поставил пару приложений, пару раз вынул-вставил аппарат из USB… И понял, что те пару контактов которые я сохранил совсем недавно, ушли в область вселеского эфира. Они не попали в oulook, соответственно при последней синхронизации, которую iTunes посчитал «первой», все контакты в iPhone были стерты и заменены контактами из outlook. Ну и те два контакта тупо были стерты. Один из этих контактов был очень важный. Я по нему не успел ни разу позвонить, номер телефона не отпечатался нигде — не в последних набранных, ни в детализации, вообще нигде. Восстановить его невозможно.

Осознав проблему, я решил разобраться, что же означает сообщение «Идет резервное копирование», которе выписывает iTunes при каждой синхронизации аппарата. Выяснилось, что iTunes делает такую несложную и очевидную вещь — создает резервную копию _последнего_ _состояния_ аппарата. Точно не знаю что туда попадает, но адресная книга там точно есть. Так вот, что меня расстроило — вот это самое «последнего состояния». Это может помочь только в одном случае — если аппарат был утерян/сломан. Тогда, вероятно, подключив новый аппарат, можно раскатать на него состояние старого. Но такая логика бэкапа фактически бессильна помочь, если пользователь накосячил, что-то удалил например, а потом хочет восстановить состояние аппарата например на вчерашнее. Вчерашнего бэкапа-то нет! Нет и бэкапа последних 10 состояний. Вобщем, эти два контакта мне вытянуть неоткуда.

Попробуем доделать то, что не доделали программисты. Будем сохранять состояния телефона при каждом включении компьютера. Сохранять бэкапы будем в сетевую папку сервиса dropbox.com, что бы было поинтереснее. Так мы решаем вопрос не только отказа аппарата, но и выхода из строя диска компьютера.

Решение проще, чем осознание задачи и её постановка.

1. Идем на dropbox.com. Создаем себе аккаунт, ставим клиентское ПО, делаем что бы это работало.

2. Устанавливаем WinRar.

3. Создаем файл backupiphone.cmd в своей домашней папке такого содержания:

@echo off
cd "c:\Program Files\WinRAR\"
rar.exe a "C:\Users\Sergey\Documents\My Dropbox\arc_%DATE%_%RANDOM%.rar" "c:\Users\Sergey\AppData\Local\Apple Computer"


Пишут что вроде как достаточно для этих целей бэкапить один файл iTunesPrefs.xml, но я решил для верности все же бэкапить всю папку.

4. Создаем ярлык .lnk на этот файл и кладем его в папку Автозагрузка (C:\Users\Sergey\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup)

Самое правильное конечно было бы создать задачу в планировщике и делать этот архив раз в сутки часа в два ночи, но мы же говорим про рабочую станцию, а не про сервер, так что тут придется обходится автостартом скрипта.

Везде где указано имя моего профиля (Sergey), конечно, нужно будет вставить имя своего профиля. Пути справедливы для Windows 7, для XP пути будут немного другие — ну, сами разберетесь по месту.

Собственно, это всё. Теперь при старте компьютера у вас будет создаваться в сетевой папае DropBox-а архив последнего бэкапа аппарата в rar-архиве с именем, составленным из текущей даты плюс случайное число, на случай если загружали компьютер за один день несколько раз.

Для восстановления бэкапа нужно будет распаковать архив за требуемую дату поверх существующих файлов, запустить iTunes, подключить аппарат и запустить процесс восстановления из резервной копии.

Такой способ конечно не панацея, возможны всякие неожиданности, причем любого характера. Например добрые программисты могут сменить формат архивируемых данных в последующих версиях iTunes. Или может побится архив. Или может перестать существовать DropBox. Или вообще произойти что угодно. Но, зачем пренебрегать лишней возможностью сберечь свои данные? Если бы я реализовал такую схему раньше, то вероятно, смог бы восстановить тот самый потерянный контакт…
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.