22 июля | 2024г. | 01:03:56


АвторТема: MBBackup (Утилита резервного копирования настроек ресивера)  (Прочитано 1513 раз)

0 Пользователей и 1 Гость смотрят эту тему.

Оффлайн Evg77734Автор темы

  • Мастер Джедай
  • ***
  • Сообщений: 1323
  • Поблагодарили: 8137
  • Уважение: +138
Творчески переработал, переписал на С++, обозвал MyBackup ver. 2.4

В прицепе три исполняемых файла под разные архитектуры и файл конфигурации MyBackup.conf.
Файл конфигурации должен находиться только в /etc/, а сама программа может запускаться из любого места с правами 755.

В первом сообщении этой темы подробно расписаны функции программы.

Изменения:
- добавлено копирование папки /etc/tuxbox
- добавлено копирование папки /media/hdd/cam, куда я перенес все свои эмуляторы, конфиги и скрипты запуска
- добавлено копирование папок пользователя
- добавлено копирование файлов пользователя
- переработал механизм взаимодействия с ftp севером

Запускать можно вручную, а так же по расписанию, используя например crontab.
Для работы с ftp севером требуется установка Curl.

Файл конфигурации состоит из трех секций: [folder], [files] и [server]
Спойлер   :
В секции [folder] первые две строки должны быть обязательно по образцу - это корень, куда будет производиться копирование, но их можно изменять по желанию, но это должен быть путь к папке на съемном носителе: usb, hdd, чтобы не занимать место в самом ресивере.
Ниже можно добавлять любое количество строк с путями к папкам, которые вы хотите, чтобы тоже копировались. Например строку:
/usr/lib/enigma2/python/Components - будет копироваться полностью папка Components.

Секция [files] может быть пустой, но в нее можно добавлять пути к файлам, которые вы хотите, чтобы тоже копировались. Например строка:
/usr/lib/enigma2/python/Plugins/Extensions/Bitrate/bitrate.pyc - будет копироваться файл bitrate.pyc из плагина Bitrate.

Если вы не пользуетесь ftp сервером, то секцию [server] нужно оставить, как есть.
Если пользуетесь, в первой строке правильно укажите IP вашего сервера и название папки, куда будет передаваться файл, во второй и третей строке - логин и пароль сервера соответственно.
В четвертой строке можно ставить ...= 0 или ...= 1. Если 1, то программа будет перебирать IP в диапазоне от 192.168.1.100 до 192.168.1.120, чтобы найти рабочий сервер. Если IP сервера не меняется и он верно указан в первой строке этой секции, то нужно поставить значение 0 и перебора не будет.

Важно. Секции между собой разделяются одной пустой строкой и в конце файла тоже одна пустая строка, как в образце.
Работает очень быстро, скорость ограничена в основном скоростью чтения/записи накопителя, ну и перебор IP занимает в основном 3 сек. на адрес, в особых случаях 2 минуты. Если запускается по расписанию, мы этого не заметим, если в ручную все видно визуально в терминале.

Тестировал на нескольких ресиверах с ARM архитектурой процессора, проблем не заметил, если не нарушать правила выше. Другие архитектуры проверить не могу, но скомпилировал.

Исполняемый файл нужно переименовать, названия могут быть:
Спойлер   :
1. MyBackup - основные функции, описаны выше.

2. Srvidcreator - если вы переименуете исполняемый файл таким образом и запустите, программа отработает, как одноименная моя утилита и создаст файл oscam.srvid в папке /tmp/, который нужен для oscam-ymod для правильного отображения названий каналов в логе.

3. BISS_Key_Formats_Tool - если вы переименуете исполняемый файл таким образом и запустите, программа отработает, как одноименная моя утилита и создаст в папке /tmp/ файлы: BISS_Key_Formats.txt, _SoftCam.Key и _constant.cw (добавил в этой версии).
Долго боролся, но нашел подход для расчета namespace hash в С++, создал для этого свою функцию на основе crc32(), хотя конечно не без помощи интернета, теперь расчет не зависит от версии python, да и сам python в этой программе не используется.

4. Если вы переименуете исполняемый файл в любое другое название и запустите, программа покажет в терминале погоду из сервиса в интернете для места, которое вы укажете в командной строке после пробела, например исполняемый файл находится на /media/hdd, дадим ему любое имя например anyname, запускаем командой:
/media/hdd/anyname dublin - получим погоду для славного города Дублина  ;)
Ну как то так, может кому будет интересно. Надеюсь, косяков будет не так много, как я себе думаю  :hi:



Теги:
 

Похожие темы

  Тема / Автор Ответов Последний ответ
10 Ответов
11148 Просмотров
Последний ответ 08 ноября | 2011г. | 18:47:05
от Odyssey
4 Ответов
3585 Просмотров
Последний ответ 18 августа | 2010г. | 12:45:33
от siant
1 Ответов
2172 Просмотров
Последний ответ 17 августа | 2011г. | 17:16:41
от anatoly
8 Ответов
11560 Просмотров
Последний ответ 18 марта | 2012г. | 08:54:00
от SergeyS
45 Ответов
45128 Просмотров
Последний ответ 16 января | 2016г. | 13:31:53
от Krz



X

Добро пожаловать!

Мы заметили, что у Вас установлено расширение AdBlock или ему подобное. Пожалуйста добавьте наш Клуб в белый список, внесите этим посильную лепту в его развитие. Спасибо!