Backup данных на AzBox

CrazyAleks

Профи в Сат-ТВ
Длинные выходные, а с ними и свободное время заканчивается, а задуманное не было доведено до конца.
AzBox теперь выполняет роль файлового сервера по протоколам nfs и smb, как можно серьёзно относится к серверу не обеспечивающему надёжность хранения данных?
Если называть AzBox сервером - надо дать ему инструмент обеспечивающий необходимый уровень надёжности.
Кроме скаченных торрентов есть фотографии, рефераты, дипломы и другие документы которые трудно или даже невозможно восстановить, для надёжного хранения подобных данных нужно делать backup копии, лучше если на другой HDD (sata, ide, usb или сетевой диск nfs или smb).

Собрался с мыслями и силами и написал программу (почти 100 строк кода написанного с нуля скриптом язык называть не поворачивается) которая делает backup папки по указанному пути.
Сейчас это самостоятельное приложение командной строки, при необходимости можно придумать как его запускать скажем раз в сутки по ночам, когда приёмник простаивает.

0. ОЧЕНЬ ВАЖНО
Внимательно следите какие пути указываете при запуске программы, так как она предназначена под постоянно растущие объёмы данных, когда для хранения файлов иногда не хватает места, та же учесть обычно ждёт backup раздел/диск. Поэтому все данные: папки и файлы в backup копии (каталог назначения) не имеющие оригинала (в каталоге источнике) УДАЛЯЮТСЯ для оптимального использования ёмкости.

1. Программа задумана и затачивалась для резервного хранения пользовательских данных: документов, фотографий и тп, а не настроек AzBox - для этого есть MaZ и не много-гигабайтных мультимедийных записей - их проще ещё раз скачать или записать, чем гонять по сетке и не эффективно использовать дисковое пространство.
Поэтому:

1.1 Старался чтобы штатно копировались папки и файлы именованные русскими буквами, в том числе содержащие пробелы, типа, "Новая папка".
Все "извращения" которые были у меня проверил - работает как надо.
1.2 Юниксовые линки НЕ поддерживаются, у пользователей винды таких ссылок нет - не упирался в реализацию и отладку, если попадутся - может быть что угодно (скопируються или нет) может позже допилю пяток строк.

2. Ушло достаточно много сил и времени на сидение за компом для подбора лучших ключей к запуску скудного набора встроенных приложений. Пришлось изучить приложение sed так как в AzBox банально не работает команда tr, похоже её просто нет.
Поэтому при распространении оригинала или доработок на его основании - указание Авторства ОБЯЗАТЕЛЬНА.

3. Так как хранение данных НЕ игрушка - программа валит в стандартный вывод (на экран, может быть перенаправлено в файл) всё что она делает: какие папки сравнивает, какие папки создаёт или удаляет, какие файлы апдейтит или копирует.

4. Для любителей ковыряться в кишках, или как это работает:
- проверяем что при запуске указаны 2 параметра, иначе коментарий
- проходим по дереву каталогов пути источника и создаём список всех папок
- сканируем список файлов в каждой папке пути источника и пути назначения
- если папка или файл есть в архиве, но нет в источнике - УБИВАЕМ из архива
- если папка или файл есть в источнике, но нет в архиве - копируем в архив
- если файл есть и там и там, сравниваем полную дату последней модификации (включая год, месяц, число, день недели, часы, минути и секунды), если НЕ совпадают - копируем из источника в архив
- ну и подчищаем временные файлы

5. Скорее всего пользоваться будут люди с установленными HDD, по умолчанию путь к папке с временными файлами /DATA/hdb1/tmp
Если кому-то не нравится - меняем значение переменной TMP

PS. как применяется у меня:
На AzBox Ultra сделан сервер Самбы который работает 7/24, несколько членов семьи с нескольких компьютеров (WM6, XP, W7) работают со своими файлами.
Программа будет 1 раз в день делать копию на подключенный по nfs диск с приёмника AzBox Premium+.
При выходе из строя Ультры или её HDD на Premium+ в течении 5 минут меняется hostname и запускается Самба, так сказать 1+1 с ручным переключением.
 

Вложения

  • backup.rar
    854 байт · Просмотры: 41
Последнее редактирование:

CrazyAleks

Профи в Сат-ТВ
V1.1
---------------------------------------------------------------------------------------------------------------
1. Оптимизирован алгоритм работы с файлами, особенно должно быть заметно на каталогах с большим числом файлов, на моём домашнем каталоге время обработки уменьшилось почти в 2 раза.

2. Теперь работает с линками, при операции копирования везде где нужно добавлен ключ “-d”, дополнительные проверки типа объектов которые синхронизируем. При синхронизации линка файл всегда удаляется и копируется заново, не сильно грузит и проще сделать так, чем разбираться куда этот линк указывает.

3. Добавлена проверка доступности папки назначения на запись, важно если в автоматическом режиме копируете на сетевую папку, которая однажды может быть недоступна, если подмонтируется как папка например сюда /DATA, при сбое сетевого подключения backup будет идти в эту папку и забъёт доступную на запись флеш мусором. Как обойти:
- перемонтируем на rw папку /MMP
- создаём каталог например mkdir /MMP/test
- возвращаем права ro на папку /MMP
- при загрузке приёмника создаём линк ln –s /MMP/test /DATA/backup
- монтируем сетевую папку к линку /DATA/backup
Если при запуске утилиты по какой-то причине монтирование НЕ сделано программа проверит диск на возможность записи, в случае неудачи завершиться с комментарием.
В случае удачи – производится резервное копирование.

4. Данное описание добавлено в архив с программой.
 

Вложения

  • backup.rar
    6,4 KB · Просмотры: 42
Сверху