[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Несколько вопросов вразброс



27.06.2012 12:22, Igor Chumak пишет:
> 26.06.2012 20:14, "Артём Н." пишет:
>> 26.06.2012 12:54, Igor Chumak пишет:
>>> 25.06.2012 18:03, "Артём Н." пишет:
>>>> Я "наворачиваю" не для того, чтобы "круто на баш написать" и не из-за проблем с
>>>> головой, а для того, чтобы попробовать TDD (или хотя бы просто unit тесты) там,
>>>> где его обычно не используют... На перспективу. Пока что, не особенно хорошо
>>>> получается. :-)
>>>>
>>>>
>>> Было бы интересно посмотреть.
>> Да что там интересного? Я только пытаюсь, пока-что. Взял небольшую задачу,
>> которую требуется выполнить. Конкретно: требуется бэкап-скрипт. Но нужно
>> сохранять не только иерархию каталогов, но и некоторые служебные данные: LVM,
>> LUKS заголовки, дамп БД и т.п.. Причём, используя для бэкапа тот же самый
>> rdiff-backup, который используется для сохранения каталогов.
>> Каталоги для сохранения - в отдельном списке.
> Развернуть bacula будет быстрее ;)
Но не лучше:
1. Bacula Не подходит для такой простой задачи.
2. Всё, что мне нужно, делает rdiff-backup.
3. Сделав, используя готовое решение, я не получу того, что мне нужно.

> Это мы проверяем скрипт на связность тегов ###TESTING и ###/TESTING?
> А смысл?
Это я вырезаю всё, что между тегами. Смысл - убрать всю тестирующую фигню и
получить на выходе готовый скрипт.

> grep "###/*TESTING" script.sh выведет теги на экран, глаз несвязность и так
> заметит. Единоразово прокатит, а автоматически проверять - не вижу смысла.
См. выше.

> Как-то все сложно.. Зачем TDD в обертке вокруг rdiff-backup?
Ради изучения TDD.

> Я вижу процесс
> архивирования так:
> прочитали конфиг || свалились по ошибке
> запустили pre-backup скрипт || свалились по ошибке
Он состоит из нескольких независимых действий. Как отследить все ошибки?

> запустили backup || свалились по ошибке
Так и делаю. Сам backup - просто запуск rdiff-backup с нужными параметрами.

Но есть два типа бэкапа: полный и декрементальный. Скрипт должен определить
какой делать (к примеру, в случае полного бэкапа, не нужно удалять старые (да,
если запустить rdiff-backup --remove-older-than, он сам определит нужно ли
удалять, но так неинтересно)).

> запустили post-backup скрипт || свалились по ошибке
> обновили каталог || свалились по ошибке
> отправили уведомления
И опять же...

> не вижу я здесь места для 100500 вложенных функций с кучей параметров ;)
Там и нету 100500. Всего два уровня. :-)


Reply to: