Applefans.ru все для Macbook, iPhone, iPad: программы, игры, приложения, обои, видео

Турбирование бэкапа 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. Создаем себе аккаунт, ставим клиентское ПО, делаем что бы это работало (Советую идти по этой ссылке,а не по прямой — при регистрации получите +250 Мб сверху).

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. Или вообще произойти что угодно. Но, зачем пренебрегать лишней возможностью сберечь свои данные? Если бы я реализовал такую схему раньше, то вероятно, смог бы восстановить тот самый потерянный контакт...

Комментарии (1) свернуть  |  развернуть

  • avatar
  • Pwned
  • 13 августа 2010, 16:30
0
Вот универсальный скрипт — подходит для всех компьютеров… В батнике ничего не надо менять.

@echo off
cd "%PROGRAMFILES%\WinRAR"

:ruseng
if exist "%HOMEDRIVE%%HOMEPATH%\C316~1" (
goto nowtwo
) else (
goto now
)

:now
if exist "%HOMEDRIVE%%HOMEPATH%\Local Settings" (
goto xp
) else (
goto vista
)

:nowtwo
if exist "%HOMEDRIVE%%HOMEPATH%\Local Settings" (
goto xptwo
) else (
goto vista
)

:xp
if exist "%HOMEDRIVE%%HOMEPATH%\Documents" (
rar.exe a "%HOMEDRIVE%%HOMEPATH%\Documents\My Dropbox\arc_%DATE%_%RANDOM%.rar" "%HOMEDRIVE%%HOMEPATH%\Local Settings\Application Data\Apple Computer"
) else (
rar.exe a "%HOMEDRIVE%%HOMEPATH%\My Documents\My Dropbox\arc_%DATE%_%RANDOM%.rar" "%HOMEDRIVE%%HOMEPATH%\Local Settings\Application Data\Apple Computer"
)
exit

:xptwo
if exist "%HOMEDRIVE%%HOMEPATH%\Documents" (
rar.exe a "%HOMEDRIVE%%HOMEPATH%\Documents\My Dropbox\arc_%DATE%_%RANDOM%.rar" "%HOMEDRIVE%%HOMEPATH%\Local Settings\Application Data\Apple Computer"
) else (
rar.exe a "%HOMEDRIVE%%HOMEPATH%\C316~1\My Dropbox\arc_%DATE%_%RANDOM%.rar" "%HOMEDRIVE%%HOMEPATH%\Local Settings\Application Data\Apple Computer"
)
exit

:vista
if exist "%HOMEDRIVE%%HOMEPATH%\Documents" (
rar.exe a "%HOMEDRIVE%%HOMEPATH%\Documents\My Dropbox\arc_%DATE%_%RANDOM%.rar" "%HOMEDRIVE%%HOMEPATH%\AppData\Local\Apple Computer"
) else (
rar.exe a "%HOMEDRIVE%%HOMEPATH%\My Documents\My Dropbox\arc_%DATE%_%RANDOM%.rar" "%HOMEDRIVE%%HOMEPATH%\AppData\Local\Apple Computer"
)
exit
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.