[Uneex] Средство " интеллегентного бэкапа "

Yuri Ryazantsev yuri на unix.ru
Чт Окт 21 01:06:20 MSD 2004


Nikita V. Youshchenko wrote:

>>- ведение backup и логов;
> 
> 
> Ну раз уж всплыла тема, спрошу :).
> Не знает ли кто *готового решения* для такой задачи.
> 
> Есть сервер, на котором работают пользователи (через графические терминалы, 
> удалённо по ssh и т.п.). Наш zigzag.
> На сервере лежат домашние каталоги. Сейчас раздел на 200G, возможно вскоре 
> будет увеличено в 2-3 раза.
> У пользователей в домашних каталогах - помойка: не стёртая вовремя 
> мультимудия, развёрнутые архивы исходников крупных проектов, да ещё с 
> объектниками, и т.п.
> Но среди этого встречаются и нужные вещи (текущая работа по проектам и 
> т.п.). Т.е. нечто, что нужно бэкапить.
> 
> Бэкапить всё не представляется возможным из-за объёмов. Да и глупо это 
> как-то, так как 90% объёма - помойка.
> Заставить пользователей явно отметить, что надо бэкапить, тоже в общем 
> случае проблематично, т.к. это пользователи :).
> 
> Требуется система, которая с (как-то организованной) минимальной помощью 
> админа обеспечивала incremental backup ценной информации из домашних 
> каталогов, и возможности восстановления некоторого количества прошлых 
> версий (речь идёт не о полном хранении истории ala cvs, а что-то вроде 
> вчерашний, недельной давности, месячной давности)
> Я думал на эту тему, получается примерно следующее.
> Нужна процедура, которая будет определять, что есть "ценное".
> - некоторый разумный критерий по содержимому файлов (по magic естественно, 
> не по имени)
> - эти правила перекрываются на уровне отдельных каталогов продвинутыми 
> пользователями
> - чтобы в бэкап не попадал очередной развёрнутый пользователем архив 
> исходников linux, система должна находить каталоги размера /с учётом 
> exclude-ов/ больше критического, которых "вчера не было", и автоматически 
> исключать их из обработки, с уведомлением админа, который сможет 
> просмотреть, что это за каталог появился, и вручную задать, что с ним 
> делать. Админ соответственно утром получает письмо с результатом ночного 
> прогона, и заносит новые правила. Раз в день несколько минут - по-моему 
> совсем не страшно.
> - "растолстевшие за день" каталоги - аналогично
> - ещё наверное что-то
> На основании этих правил создаётся список для бэкапа, и осуществляется 
> бэкап (на другой раздел, по сети, ...). К этому добавляются какие-то 
> средства устаревания бэкапов, ну и естественно просмотра доступных бэкапов 
> и восстановления на уровне отдельных каталогов и файлов.
> 
> Т.е. представление о том, что надо - есть. Ясное дело, что это эвристика, 
> когда-то будет и лишнее бэкапить, и нужное не находить; но тем не менее 
> мне кажется что в среднем должно работать неплохо.
> 
> Но писать всё это - целая история. Пытался в прошлом полугодии студента 
> посадить, но как-то у нас с ним не наладилось взаимодействие, и ничего не 
> вышло :(.
> 
> Готовое решение когда-то искал, неудачно. Создалось впечатления, что в 
> такой постановке задачу никто никогда не решал.
> 
> Может, кто-нибудь меня во что-нибудь ткнёт?

Раздели на две задачи:
- составление списка файлов для backup$
- собственно backup;

С второй задачей успешно и cpio справится, а для первой слишком 
много эвристики и "надуманности", что проще делать через набор 
скриптов отсекая каждым последующим лишнее.

Про ведение backup'ов есть множество алгоритмов. Для начала можно 
посмотреть на книжку ( хоть и старая но может помочь): 
http://www.oreilly.com/catalog/unixbr/index.html

Но IMHO, это пример поощрения оставления непродуманной организации 
работы в виде "как есть" и прикрытия себя в случае проблем с 
потерей данных. :-)) Особенно вдохновило: 200 Гб -> 90% помойка -> 
"возможно вскоре будет увеличено в 2-3 раза"

-- 
Yuri Ryazantsev <yuri на unix.ru>    | RIPE: YR1-RIPE
UNIX System Network Administrator | RIPN: YAR1-RIPN



Подробная информация о списке рассылки Uneex