Творчески переработал, переписал на С++, обозвал
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 - получим погоду для славного города Дублина
Ну как то так, может кому будет интересно. Надеюсь, косяков будет не так много, как я себе думаю