Как гласит известная айтишная мудрость, сисадмины делятся на тех, кто не делает бэкапы, и тех, кто уже делает бэкапы. Думаю, каждому хоть раз после прошивки или сбоя приходилось настраивать телефон/планшет с нуля. А ведь делать это совсем не обязательно, если есть сохраненный бэкап. В данной статье мы рассмотрим разные виды бэкапа (резервной копии) содержимого Android-устройств на все случаи жизни.

 

Введение

Получив root на смартфоне, среднестатистический пользователь начинает экспериментировать с устройством и ставить различные модификации интерфейса, темы, шрифты, новые ядра, прошивки, радио и root-приложения. Как постоянный, давний и активный пользователь форумов 4PDA и XDA Developers, могу утверждать, что очень часто такие эксперименты заканчиваются вопросами с формулировками: «Телефон не загружается, что мне делать?»

Даже очень внимательно прочитав инструкцию, можно допустить опечатку или нажать не на ту кнопку, после чего получить bootloop — вечную загрузку телефона с повторяющейся бутанимацией. В худшем случае можно получить «кирпич» — телефон вообще не включится. Бывает это очень редко, и, честно говоря, нужно очень постараться, чтобы, например, убить флеш-память. Обычно же то, что пользователи считают «кирпичом», можно успешно восстановить с помощью несложных манипуляций. И бэкап нам в этом очень поможет.

Базовые функции бэкапа, которые удовлетворят большинство обычных пользователей, предлагает сама Google. В настройках телефона есть вкладка «Аккаунты», в которой можно расставить необходимые галочки. После перепрошивки или сброса устройства на заводские настройки или активации нового телефона Android сам восстановит контакты, историю и вкладки браузера Chrome, заметки Google Keep, фотографии, данные приложений, события календаря и так далее. В последних версиях Android можно восстановить рабочий стол со всеми ярлыками и автоматически поставить все установленные ранее приложения.

Однако Google не может забэкапить все. Настройки системы и приложений сбросятся, сохраненные пароли (а точнее, токены аутентификации) исчезнут, приложения из сторонних маркетов не будут вновь установлены. Поэтому нам нужны инструменты, способные сохранить вообще все. О них мы и поговорим.

WARNING

Большинство описанных в статье приложений требуют root и BusyBox.

 

Бэкап приложений и их данных.

Сам я придерживаюсь подхода «чистой установки». При переходе на новую прошивку мне проще настроить программы с нуля. Да и появление багов в таком случае сводится на нет, особенно при переходе на следующую мажорную версию прошивки. Но многим пользователям удобнее сохранить настройки приложений и восстановить их на новой прошивке. Особенно актуально это для сторонних программ, которых нет в маркете. Остановлюсь на двух самых популярных приложениях, насчитывающих миллионы скачиваний.

Titanium Backup

Мощнейшее средство бэкапа, восстановления, заморозки и удаления приложений вместе с их данными (включая системные и предустановленные производителем). Позволяет настроить автоматический бэкап по расписанию, не закрывая приложения, и переносить любое приложение на SD-карту. Можно хранить разные бэкапы одного приложения, сохранять СМС, ММС, историю звонков, закладки браузера, точки доступа Wi-Fi в форме XML-файла. Может синхронизировать все бэкапы в Dropbox, Box и Google Drive. С помощью этого приложения легко сделать любое пользовательское приложение системным, добавить шифрование, привязать приложение к маркету после восстановления (для дальнейших обновлений). Удобная функция — создание на основе бэкапа приложений и данных архива update.zip, который можно прошить из консоли восстановления, чтобы восстановить приложения и настройки.

Одно из наиболее полезных применений Titanium Backup — это перенос приложений и их настроек между устройствами. В качестве примера покажу, как заставить работать популярный мессенджер WhatsApp на планшете без сим-карты. При поиске программы в маркете на странице с описанием будет указано, что данная программа не поддерживается на твоем устройстве. Даже если скачать и установить APK, для активации программы необходим дозвон на устройство, чего планшет без симки (или LTE с тарифом без голосовых вызовов или выпиленным из прошивки дайлером) сделать не сможет.

Итак, заходим в Titanium, ищем нужное приложение, нажимаем на него и во всплывающем меню нажимаем «Сохранить». Если в меню сделать свайп влево, то можно вызвать дополнительные функции. Это же меню можно вызвать долгим тапом на приложении в списке. После отработки скрипта в панели уведомлений появится новая запись о создании успешного бэкапа. Для удобства работы советую настроить в программе загрузку бэкапов в облако. Синхронизацию можно настроить на третьей вкладке — «Расписания». Нажимаем «Пуск» на пункте «Синхронизация с Google Диск», и об успешном выполнении сообщит уведомление в шторке.

На планшете запускаем Titanium и синхронизируем бэкапы с облаком. При этом скачивается только что сделанный бэкап с телефона. WhatsApp будет находиться в самом конце списка программ. Зачеркнутое название означает, что программа на планшете не установлена. Нажимаем на программу и во всплывающем меню выбираем «Восстановить». Все. Можно запускать WhatsApp.

Titanium Backup: бэкап и восстановление на другом устройстве
Titanium Backup: бэкап и восстановление на другом устройстве

Helium — App Sync and Backup

Главное отличие программы — возможность работать без наличия прав суперпользователя (приложение использует стандартный backup manager, доступный в любом Android начиная с версии 4.0. — Прим. ред.). При этом часть функций урезана и требуется приложение-компаньон на компе. Программа позволит сделать бэкап пользовательского словаря, сообщений и журналов звонков, точек доступа Wi-Fi. Системные приложения нельзя бэкапить, даже если есть рут. Также резервирование может быть запрещено разработчиками некоторых программ. Они будут находиться внизу списка. Например, тот же WhatsApp забэкапить не получится.

Helium запоминает все устройства, на которых она была запущена, и позволяет восстанавливать бэкапы отдельно на разных устройствах. Бэкапы можно хранить на карте памяти или в облаке (Google Диск, Box, Dropbox), а также делать их по расписанию. Еще одна особенность приложения — данные между устройствами легко переносить, например, начав игру на одном устройстве, можно продолжить ее на другом.

IMEI

Нередки случаи, когда после прошивки перестает работать сотовая связь и интернет. Это верный признак того, что слетел IMEI (International Mobile Equipment Identity — международный идентификатор мобильного оборудования). Этот номер уникален для каждого аппарата и служит для идентификации устройства в сети. При сбое он может обнулиться, и девайс перестанет видеть сеть.

Чтобы избежать таких случаев, советую заранее сделать бэкап раздела EFS, содержащего IMEI: с помощью программ из маркета, руками через консоль (adb shell) или на устройстве через эмулятор терминала. Стоит отметить, что для разных устройств таблица разделов может кардинально отличаться в зависимости от применяемых чипов. В случае Nexus 4 в терминале нужно ввести следующие команды:

Бэкап IMEI:

su
dd if=/dev/block/mmcblk0p8 of=/sdcard/m9kefs1.img
dd if=/dev/block/mmcblk0p9 of=/sdcard/m9kefs2.img

Восстановление IMEI:

su
dd if=/sdcard/m9kefs1.img of=/dev/block/mmcblk0p8
dd if=/sdcard/m9kefs2.img of=/dev/block/mmcblk0p9

У Nexus 5 нет отдельного раздела EFS. Поэтому бэкапить надо разделы 12 и 13, содержащие не только IMEI, но и другие данные:

su
dd if=/dev/block/mmcblk0p12 of=/sdcard/modemst1.img
dd if=/dev/block/mmcblk0p13 of=/sdcard/modemst2.img

Восстановление проводится аналогичной командой.

 

Фотографии и видео

После неудачной прошивки или, например, порчи или кражи телефона самые неприятные ощущения вызывает потеря снятых видео и фотографий. Ведь приложения можно установить заново, пароли при необходимости восстановить, а фотографии, если заранее не подстраховаться, пропадут навсегда. И в маркете существуют программы на любой вкус для сохранения твоих фотографий и видео. Рассмотрим несколько из них.

Google+

Стандартная программа от «корпорации добра», предустановленная на всех стоковых прошивках. Пользуюсь давно и на всех устройствах (на данный момент в альбомах содержится более 10 тысяч фотографий). Автоматически синхронизирует все отснятые фото с закрытыми альбомами Picassa (скоро такая же функция появится и в Google Drive). Фото будут доступны на всех устройствах, на которых выполнен вход в один аккаунт. При наличии интернета все фото можно просмотреть даже на новом устройстве, выполнив вход в аккаунт Google. Приятный бонус — автокоррекция некоторых фотографий, создание коллажей из похожих фото и GIF-анимаций из серий фотографий. Также автоматически появляются «Автокреативы» — нарезка под музыку из множества фотографий и видео, снятых в один день. При смене места снятия фотографий и видео обычно появляются «Истории» и «Путешествия».

Другие варианты

  • MEGA — дает по умолчанию хранилище на 50 Гб, имеет гибкие настройки, клиент синхронизации для компа и расширение для браузера Chrome. Разные режимы просмотра, возможность открыть папки для других пользователей.
  • Облако Mail.ru — 100 Гб для новых пользователей. Имеет приятный интерфейс и клиент для компа.
  • Dropbox — интересен тем, что имеет приложение-компаньон Carousel, которое умеет не просто автоматически загружать фотки, но и чистить смартфон от тех, что уже загружены.

Настройки автозагрузки Google+, Mega, Облако Mail.ru
Настройки автозагрузки Google+, Mega, Облако Mail.ru

INFO

Важные бэкапы лучше хранить в облаке или на компе для возможности использования даже после полного вайпа устройства.

 

Бэкап произвольных файлов

Для бэкапа файлов на SD-карте также существуют различные программы. В целом они имеют схожие функции и отличаются интерфейсом или поддерживаемыми облачными сервисами.

Foldersync

Material Design, поддержка Amazon Cloud Drive, Box, Dropbox, FTP, Google Drive, Mega, OneDrive, SMB/CIFS, WebDav, Yandex Disk. Имеет встроенный файловый менеджер, множество настроек, фильтров, удобное планирование. Возможность настройки двухсторонней синхронизации, перенос скрытых файлов, настройка передачи через Wi-Fi / мобильный интернет, поддержка Таскера, защита пин-кодом, возможность синхронизации вложенных папок.

DataSync

Возможность синхронизации между устройствами через Bluetooth, расписание, данные приложений, файлы и папки. Автоматическая двухсторонняя синхронизация данных позволит сохранять прогресс игр и автоматически загружать его на все связанные устройства при изменении данных на одном из них.

Dropsync

Продвинутый клиент синхронизации с Dropbox. Загрузка фото и видео, мониторинг уровня заряда батареи, Wi-Fi/3G/4G/WiMax-соединения и адаптация в соответствии с предпочтениями пользователя, настраиваемый интервал автосинхронизации, плагин к Таскеру, возможность выбора режима синхронизации: только загрузка, загрузка и удаление, только скачивание, зеркальное скачивание и другое.

По сути, это аналог десктопного клиента Dropbox с синхронизацией на лету (как и в Linux-версии клиента, изменения файлов отслеживаются с помощью механизма inotify, поэтому синхронизируются все сразу, а не через определенные интервалы времени).

Настройки Foldersync, DataSync, Dropsync
Настройки Foldersync, DataSync, Dropsync

INFO

Для Linux/UNIX-пользователей подойдет rsync backup for Android, которая позволит отправлять и получать файлы с удаленного сервера через SSH. Имеет поддержку Таскера.

 

Полный бэкап устройства

Nandroid backup (от NAND — тип используемой памяти в современных смартфонах) — полный бэкап всей прошивки целиком вместе с приложениями, данными и настройками. Функция поддерживается TWRP или CWM. Кроме того, бэкап можно сделать и прямо из Android с помощью программы Online nandroid backup. Восстановить отдельные данные поможет уже рассмотренный Titanium, а также Nandroid manager. Сначала посмотрим, как сделать бэкап из консоли восстановления.

CWM

Для создания бэкапа необходимо выбрать пункт Backup and Restore, а затем Backup to /sdcard. До нажатия можно выбрать формат бэкапа или освободить неиспользованные данные. Для восстановления выбираем пункт Backup and Restore и далее Restore from /sdcard. Если выбрать Advanced restore from /sdcard, можно указать для восстановления отдельно разделы boot, system, data, cache, sd-ext.

Для большей сохранности полученный бэкап можно перенести на комп. Но здесь есть одна загвоздка. Дело в том, что, если в устройстве есть «внешняя» (настоящая) карта памяти, CWM разместит бэкап в ней и он будет доступен для сохранения на комп стандартными средствами (каталог clockworkmod/backup/дата-и-время-бэкапа на карте памяти). Здесь все в порядке.

Лирическое отступление, или признание в любви к устройствам Nexus

Если посмотреть на структуру разделов Nexus-устройств с помощью команды adb shell busybox fdisk /dev/block/mmcblk0 (нужен root и установленный из маркета BusyBox), то можно увидеть следующую картину (см. скриншот «Структура разделов на Nexus 5 и Nexus 4»).

Раздел aboot — это первичный бутлоадер. Его можно повредить, если, например, прошить ядро или бутлоадер от другого устройства или выдернуть шнур из телефона в процессе прошивки. При этом слетает таблица разделов и телефон перестает грузиться в бутлоадер и рекавери, а также перестает откликаться на команды fastboot и adb.

Обычный юзер думает, что это «кирпич», и несет телефон в сервисный центр, где платит больше ста долларов за новую взамен якобы сгоревшей плату. На самом же деле в разделе 15 у Nexus 4 и разделе 11 у Nexus 5 находится резервная копия бутлоадера — abootb. Это одна из причин того, что убить Nexus практически невозможно, ведь резервный загрузчик можно без проблем восстановить.

Выключаем смартфон и включаем с одновременным нажатием клавиш <Vol Up + Power>. Затем одновременно нажимаем и удерживаем комбинации кнопок <Vol Up + Vol Down + Power> (сработает, только если убит основной загрузчик). После этого подключаем устройство к компу (теперь оно определится и ADB заработает) и копируем резервный загрузчик в раздел основного командами

$ adb shell
  su

Таблица разделов восстановится, и при необходимости можно далее прошить нужный бутлоадер.

Однако в смартфонах без слота для карты памяти или при ее отсутствии бэкап окажется невидим для пользователя. Это происходит из-за того, что с версии 4.2 в Android изменились точки монтирования внутренней памяти для обеспечения работы в многопользовательском режиме. Сама виртуальная (внутренняя) карта памяти монтируется в /data/media, и там же находится бэкап CWM. Но данные основного пользователя находятся в /data/media/0, и именно этот каталог затем монтируется как /sdcard. Поэтому бэкап останется недоступен с помощью стандартных средств и без прав root.

Достать бэкап из /data/media можно с помощью файлового менеджера с правами суперпользователя или путем подключения смартфона к компу в режиме recovery. Далее вводим команду adb shell, а затем ls /sdcard/clockworkmod/backup/ для поиска каталога с последним бэкапом. Переносим бэкап примерно такой командой:

$ adb pull /sdcard/clockworkmod/backup/2015-04-20.15.46.18 \
  "D:\Nexus5\Backup\Nandroid\2015-04-20.15.46.18"

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

TWRP

Для создания бэкапа нажимаем кнопку Backup и крестиками отмечаем необходимые разделы (не уверен — выбирай все). Дополнительно можно убрать шифрование, включить сжатие, пропустить создание MD5-хеша и выбрать сохранение на USB — OTG флешку. В результате бэкап окажется в каталоге /sdcard/twrp/backups/дата-и-время-бэкапа. В отличие от CWM он будет доступен независимо от наличия карты памяти. Для восстановления нажимаем Restore и выбираем нужный.

pic5

INFO

В маркете есть большое количество программ для отдельного бэкапа и восстановления СМС, звонков, контактов, ядер, рекавери и так далее.

Nandroid Manager

Это универсальный инструмент для управления всеми резервными копиями Nandroid. С помощью Nandroid Manager можно восстановить из Nandroid приложения и данные, СМС, журнал вызовов, точки доступа Wi-Fi, сохраненные сопряженные устройства Bluetooth, пользовательский словарь. Приложение видит бэкапы, созданные в обоих кастомных рекавери, и позволяет их переименовывать и искать информацию в отдельных базах внутри бэкапа.

pic7
Возможности Nandroid Manager

 

Online nandroid backup

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

  • Имя бэкапа — каждый раз вручную / по временной зона UTC / по временной зоне телефона / на основе номера версии прошивки, включая время создания.
  • Тип бэкапа — CWM/TWRP со сжатием или без.
  • Режим — нормальный (полный) / выбор разделов для копирования. При выборе последнего открывается список с выбором.
  • Место сохранения бэкапа.
  • Количество бэкапов для хранения от «все» до 10 (при переполнении более старые удаляются).
  • Сохранение разделов Yaffs2 в качестве Tar-файлов.
  • Исключение Dalvik Cache из бэкапа.
  • Исключение файлов Google Music из бэкапа.

Программа поддерживает выгрузку файлов бэкапа в облако, FTP или Google Drive. Доступно настраиваемое расписание для автоматических бэкапов, от «каждый день» до «каждые 30 дней» с опцией «только когда устройство заряжается». Кроме того, с помощью плагина поддерживаются действия для Tasker.

 

Бэкап с помощью ADB

Способ, так сказать, для гиков. Подключаем смартфон к компу, включаем отладку по USB. Далее используем команду adb backup, которая имеет следующие ключи:

  • -f ФАЙЛ — место и название файла создаваемого бэкапа на компьютере. Если нет этого параметра, бэкап будет создан в текущей папке с названием backup.ab. В случае Windows пути с пробелами и спецсимволами следует заключать в кавычки.
  • -apk | -noapk — сохранять или нет в бэкапе APK-приложения. По умолчанию — не сохранять.
  • -system | -nosystem — сохранять ли в бэкапе системные приложения. По умолчанию — сохранять. Выбор -nosystem запретит сохранять системные приложения, когда задан ключ -all.
  • -all — сохранять в бэкапе все установленные приложения, в том числе системные.
  • -shared | -noshared — включать ли в бэкап данные приложений и содержимое карты памяти. По умолчанию — не сохранять.
  • — здесь можно написать список приложений, которые будут бэкапиться. Игнорирует —nosystem.

Соответственно, чтобы выполнить полный бэкап, используем такую команду:

$ adb backup -f "D:\Backup\ADB-2015-04-20.ab" -apk -shared -all -system

После этого в консоли появится Now unlock your device and confirm the backup operation, а на телефоне уведомление с просьбой подтвердить операцию и установить опциональный пароль на бэкап. Сам процесс создания резервной копии может длиться больше сорока минут, так что нервничать не надо. Для восстановления используем команду «adb restore путь-до-файла», для примера выше это будет:

$ adb restore "D:\Backup\ADB-2015-04-20.ab"

Подтверждаем запрос на телефоне, вводим пароль (если устанавливали при бэкапе) и ждем восстановления, которое может занимать еще больше времени, чем создание самого бэкапа.

INFO

Узнать номера IMEI, всех своих устройств, привязанных к Google (в том числе старых), можно на странице google.com/settings/dashboard, раскрыв список Android.

 

Заключение

Надеюсь, эта статья поможет тебе сэкономить время и нервы при экспериментах с устройством. И даже потеря или кража телефона не станет трагедией при сохраненных в облаке бэкапах фотографий и приложений.

7 комментариев

  1. 07.04.2015 at 21:08

    Ладно, уговорили, скачаю с торрента, какой там у вас номер апрель или уже май?

  2. 07.04.2015 at 21:20

    «Подпишитесь на ][, чтобы дочитать статью до конца»
    Идите нахер!

  3. 08.04.2015 at 21:29

    оу. какие-то платные статьи. давно появились?

  4. 09.04.2015 at 01:17

    Что за платная хуйня?

    • 09.04.2015 at 16:57

      Поддерживаю. Только стоит Вам, уважаемый, писать более деликатно — без мата.
      Если статью нет желания выкладывать целиком, то стоит или в заголовке писать «фрагмент», или отдельную рубрику сделать, чтобы нормальные статьи не путались с рекламой-заманухой. Конечно, хозяева сайта вправе пихать саморекпаму в любое разумное и не очень место, но с точки зрения здравого смысла это превратит рубрику статей-новостей в рекламную помойку, если делать это без меры. Тенденция тут очевидная, и не надо ходить к гадалке, чтобы понять, что новости этого типа — новая политика фирмы, чтобы поднять продажи. Так же не нужно гадать, что таких статей будет всё больше и больше, если читатели (то есть, я) не выразят неудовольствие.
      Впрочем, если высказать неудолетворение таким поведением, есть большой шанс, что нас проигнорируют как дума общественное обсуждение законопроекта, но правда же, стоит пытаться.
      Уважаемый журнал! Пожалуйста, не меняйте репутацию на продажи и не разбавляйте web-статьи рекламными заготовками. Пока ещё вы задаёте стандарт качества в индустрии, не отказывайтесь от этого.

      • 09.04.2015 at 18:09

        В платном доступе только новые статьи. Публикация бесплатных статей и новостей продолжается. Бесплатные статьи выходят с такой же как последние 3 года задержкой — 3-4 месяца. Ни у кого ничего не отняли, только дали возможность за подписку читать еще и новые статьи.

        Мы помечаем платные материалы пометкой «для подписчиков».

        Журнал всегда был платным, последние 15 лет так уж точно. И никогда свежие статьи не публиковались бесплатно. Сейчас мы просто предоставили еще один способ читать новый номер.

        Дело не в неудовольствии, а в том, что старая модель монетизации прессы в прицнипе умирает. Реклама давно уже не работает, печатная продукция тупо не нужна никому кроме фанатов. Давайте аккуратно скажу, редакция, авторы и статьи ежемесячно стоит большую сумму денег. Если не предложить людям новые форматы получения контента, то даже мы со временем закончим так же, как уже закончило 80% российской IT-прессы.

        Еще раз: платные — только новые статьи. Старые выкладываются бесплатно, как и всегда.

  5. sergey23

    27.08.2017 at 23:48

    Хотелось бы прочитать информацию как прошится с помощью бекапа.

Оставить мнение

Check Also

Конкурс хаков: пишем на PowerShell скрипт, который уведомляет о днях рождения пользователей Active Directory

В компаниях часто встречается задача уведомлять сотрудников о приближающихся днях рождения…