null

Резервное копирование мобильного телефона

Однажды мой мобильный телефон не включился после штатного выключения. Как оказалось позже, у него просто сломалась кнопка включения и простое замыкание четырех контактов решило проблему. Но сколько неприятных минут я тогда пережил! Адресная книга, список дней рождений и куча полезных заметок стали вдруг недоступны. Резервных копий данных телефона я никогда не делал и только почти потеряв нажитое непосильным трудом задумался о необходимости регулярного сохранения содержимого телефона. Использовать ПО, поставляемое производителем мне не позволяет религия и отсутствие поддержки свободно распостраняемых ОС в этом ПО. На момент написания заметки Nokia Ovi Suite доступна только для Microsoft Windows и заявлена совместимость с Mac iSync. Т.к. ни того, ни другого у меня нет, я начал искать свободно распостраняемые альтернативы. В коллекции портов FreeBSD нашлось два приложения, которые поддерживают мою Nokia 6300:

* gnokii  - http://www.gnokii.org
* gammu - http://www.gammu.org

И gnokii и gammu могут общаться с телефоном при помощи bluetooth. Конфигурационные файлы в этом случае выглядят примерно так:

 

$ egrep -v '^(#|$)'  .gammurc
[gammu]
port = 00:1e:a3:1f:49:a0
connection = bluerfphonet

$ egrep -v '^(#|$)'  .gnokiirc 
[global]
port = 00:1e:a3:1f:49:a0
model = series40
connection = bluetooth

 

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

  gnokii gammu
calendar --getcalendarnote 1 end getallcalendar
notes недоступно getallnotes
address book --getphonebook <SM|ME> 1 end getmemory <SM|ME>
sms --getsms <box> 1 end backupsms sms.txt -all
calls --getphonebook <DC|RC|MC|LD> 1 end getmemory <DC|MC|RC|SL>

 

 

Кроме того, gammu умеет выполнять резервное копирование одной командой:

$ gammu backup backup.dump -yes
Чтобы прервать, нажмите Ctrl+C...
Use Unicode subformat of backup file? (yes/no/ALL/ONLY/NONE) YES (always)

Проверяется телефонная книга телефона
   Backup phone phonebook? (yes/no/ALL/ONLY/NONE) YES (always)
   Reading: 100 percent
Проверяется телефонная книга SIM-карты
Проверяется календарь телефона
   Backup phone calendar notes? (yes/no/ALL/ONLY/NONE) YES (always)
Чтение         : *********************
Checking phone todos
Проверяются заметки телефона
   Backup phone notes? (yes/no/ALL/ONLY/NONE) YES (always)
Чтение         : ***************
Проверяются логотипы абонентов в телефоне
   Backup phone caller groups and logos? (yes/no/ALL/ONLY/NONE) YES (always)
Чтение         : *****
Проверяются SMS-профили SIM-карты
   Backup SIM SMS profiles? (yes/no/ALL/ONLY/NONE) YES (always)
Чтение         : **
Проверяется текст приветствия телефона
   Backup phone startup logo/text? (yes/no/ALL/ONLY/NONE) YES (always)
Проверяется логотип оператора телефона
Проверяются WAP-закладки телефона
Проверяются настройки WAP телефона
Проверяются настройки MMS телефона
Проверяются настройки чата телефона
Проверяются настройки синхронизации телефона
Проверяются пользовательские мелодии звонков телефона
Проверяются режимы телефона
Проверяются FM-радиостанции телефона
   Backup phone FM radio stations? (yes/no/ALL/ONLY/NONE) YES (always)
Чтение         : ********************
Проверяются точки доступа GPRS телефона
   Backup phone GPRS access points? (yes/no/ALL/ONLY/NONE) YES (always)
Чтение         : ******



SMS сообщения и история звонков в таком режиме не сохраняются, поэтому их можно записать отдельно:

 

$ gammu backupsms  sms.txt -all
Backup sms from folder "Templates"? (yes/no/ALL/ONLY/NONE) YES (always)
Backup sms from folder "Drafts"? (yes/no/ALL/ONLY/NONE) YES (always)
Backup sms from folder "Saved messages"? (yes/no/ALL/ONLY/NONE) YES (always)
Backup sms from folder "Sent items"? (yes/no/ALL/ONLY/NONE) YES (always)
Backup sms from folder "Outbox"? (yes/no/ALL/ONLY/NONE) YES (always)
Backup sms from folder "Inbox"? (yes/no/ALL/ONLY/NONE) YES (always)
Backup sms from folder "User folder 20"? (yes/no/ALL/ONLY/NONE) YES (always)

$ for i in DC RC MC;do gnokii --getphonebook $i 1 end;done


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

 

#!/bin/sh -xe

BACKUP=$HOME/backup/phone/$(date '+%F')

i=0
while : ; do
    test $i -gt 30 && break
    l2ping -c 1 -a phone | grep 'result=0 $' && break
    i=$((i + 1))
    sleep 60
done

mkdir -p $BACKUP
cd $BACKUP
gammu backup backup.dump -yes
gammu backupsms sms.txt -all
for i in DC RC; do
    gnokii --getphonebook $i 1 end >$i.txt
done


Он выполняется cron'ом в 10 утра и в течении получаса пытается выполнить резервное копирование данных телефона.


Также хочу заметить, что каждая из описанных программ имеет много других полезных возможностей, таких как:

* отправка коротких сообщений и MMS
* ответ и отбой входящих звонков
* изменение параметров переадресации
* чтение и запись на файловую систему телефона
* изменение экранной заставки
* изменение мелодии звонка
* множество функций, специфичных для Nokia и Siemens

все возможные команды описаны в страницах руководств и на домашних страницах проектов:

* man gnokii
* man gammu

Не делайте из еды культа!

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

Ничего не найдено. n is 0