Чтение онлайн

на главную - закладки

Жанры

Журнал «Компьютерра» № 18 от 15 мая 2007 года
Шрифт:
nnBackup

Пофайловый бэкап, то есть бэкап файлов и папок, производимый на уровне файловой системы, гораздо более актуален, чем создание посекторного образа системы. Действительно, с потерей настроенной Windows еще можно смириться, потратив несколько вечеров на установку и обкатку системы с нуля, а вот с потерей всей накопленной за много лет информации или большого проекта, до сдачи которого остался день-другой – едва ли. Случай, когда вся эта информация помещается на одну DVD-болванку, тривиален и не интересен, – такой объем достаточно куда-нибудь регулярно копировать. Гораздо интереснее (и жизненнее) обезопасить гигабайт 200—300 динамично изменяющихся данных, причем сделать это, придерживаясь концепции максимального удобства пользователя

и автоматизации процесса. Только если пользователь вообще не должен будет о них вспоминать, бэкапы будут происходить регулярно. Задача становится еще интереснее, если мы захотим создать систему очень динамичных (например, ежедневных) бэкапов с многоступенчатым откатом, который позволил бы хранить не только текущую копию исходных данных, но и предыдущие их варианты, так далеко назад во времени, как только позволяет емкость бэкапного жесткого диска. Для такой задачи простым копированием не обойдешься, поскольку даже на самый большой современный диск, объемом в терабайт, трехсотгигабайтный массив можно скопировать всего три раза.

Определив сверхзадачу, давайте формализуем пожелания. Итак, пофайловые бэкапы должны:

• происходить из рабочей операционной системы;

• не требовать внимания пользователя, но при этом быть для него прозрачными;

• быть инкрементными – заново копироваться должны только изменившиеся с прошлого бэкапа данные;

• быть устойчивы к человеческому фактору, чтобы в случае чего был доступ не только к копии текущего состояния винчестера, но и к файлу, случайно удаленному две недели тому назад;

• происходить со скоростью, близкой к максимально возможной скорости работы дисковой подсистемы компьютера;

• просто и наглядно отделять «мусор» от открытых для бэкапирования данных;

• поддерживать достаточно глубокую вложенность директорий и кодировку unicode в именах файлов.

Как видите, перечисленные требования вполне реализуемы несколькими банальными, всем знакомыми операциями с файловой системой: скопировать, переместить, удалить да запланировать все это в определенной последовательности. Казалось бы, гораздо более простая задача, чем посекторное копирование разделов, но – удивительно! – я не нашел ни единой высокоуровневой программы с графическим интерфейсом, которая могла бы достойно выполнить эти пожелания. Роскошные навороченные платные комплексы, бесплатные «поделки на коленке» – все они пасовали в лучшем случае на трех из перечисленных пунктов. На помощь пришла отечественная разработка – консольная утилита nnBackup. Это гениальная программа, при весе всего в 350 килобайт позволяющая организовать пофайловые бэкапы практически любой сложности. Можно просто регулярно копировать информацию; можно создавать «дампы» только изменившихся данных или синхронизировать две папки; можно работать не только с реальными файлами, но и с текстовым «слепком» файловой системы; можно запланировать расфасовку сделанного бэкапа по директориям заданного объема, чтобы каждая из них поместилась на CD или DVD с сохранением оригинальной структуры вложенных директорий. Есть еще с десяток разных функций, комбинируя которые можно достичь практически любого результата. Программа ведет скрупулезный лог своих действий, в результате чего локализация любой возникшей проблемы не вызывает никаких трудностей. Большая часть действий утилиты сводится к операциям копирования, которые производятся операционной системой, а не каким-то там подозрительным драйвером, за счет чего скорость бэкапирования вплотную приближается к скорости обыкновенного копирования вашего компьютера.

Увы и ах, как и за все другое, за отличную функциональность приходится платить. Но в данном случае не деньгами, так как утилита бесплатна для русскоязычного населения, а временем и мозговыми ресурсами. Общение с программой происходит только через командную строку, так что даже несмотря на превосходную русскоязычную справку, настройка требует изрядного напряжения серого вещества. Для облегчения этого процесса предлагаю вам ознакомить с моей конфигурацией бэкапа динамично меняющегося рабочего раздела, а при настройке своей системы отталкиваться уже от нее.

С целью упрощения процесса создания сценария бэкапа, исполняемый файл nnbackup exe можно попросить брать команды не из командной строки, а из текстового файла, который очень удобно комментировать. Вот, к примеру, создадим в папке nnBackup файл config cfg. Строчки, обозначенные обратным слэшем, – комментарии, а все остальные – команды (см. врезку).

\ Синхронизировать приемный каталог с

\ исходным. В этом случае из исходного

\ каталога в приемный копируется вся

\ информация, которой там еще нет:

sync

\ Исходный каталог:

– i W:\

\ И приемный каталог:

– o «X:\w\"

\ Учитывать все подкаталоги при копировании:

– s

\ Сравнивать при синхронизации не только

\ время последней модификации файла, но и

\ время его создания:

– tc

\ Сравнивать при синхронизации еще и размер

\ файла, а также бэкапить файлы, даже если

\ дата их модификации в исходном каталоге

\ изменилась в обратную сторону:

– ad

\ Удалять в приемном каталоге файлы,

\ отсутствующие в исходном каталоге:

– da

\ Этот ключ определяет поведение программы

\ в случае, если какой-то каталог был удален в

\ исходном каталоге, но все еще содержится в

\ резервной копии:

– nd

\ Исключать из бэкапа все файлы и

\ директории, имя которых заканчивается

\ на.@exc:

– x *.@exc

\ Оставлять копию всей информации, которая

\ меняется или удаляется в приемном каталоге.

\ При этом помещать измененные файлы в

\ специальный каталог «W_dumps», создавая

\ каждый раз подкаталог с именем в виде

\ текущей даты:

– backup X:\W_dumps\%YYYY%-%MM%-%DD%\

Если теперь запустить nnbackup exe с ключом – f config cfg, он прочтет содержимое конфигурационного файла. Весь диск W:\ будет скопирован в папку X:\w\ на бэкапном HDD. Помните пункт о наглядном отделении «мусора» от требующих резервного копирования данных? Все папки и файлы, оканчивающиеся на».@exc», будут проигнорированы. Таким образом, чтобы запретить бэкап, предположим, захваченного только что с ТВ-тюнера сериала, достаточно к названию папки с захватами добавить».@exc», например, так: «W:\captures.@exc\". Сразу видно, что это папка-неудачница! Конечно, такое замысловатое буквосочетание я придумал сам, встретить подобную «символьную тусовку» в реальной жизни почти невероятно. Вы можете придумать любое свое обозначение.

Итак, при первом запуске содержимое диска W:\ за оговоренным исключением скопируется в X:\w\. В результате каждого повторного запуска скрипта содержимое исходного диска будет пофайлово сравниваться с копией, и если на бэкапируемом разделе что-то изменилось, копия будет приводиться в полное соответствие с оригиналом. Самое интересное в том, что всякое изменение, происходящее с бэкапом, не канет в лету, но будет аккуратно отражено в папке X:\W_dumps, в которой вы всегда сможете найти удаленный невзначай файл. Временна, я глубина дампов прямо пропорциональна емкости бэкапного HDD и обратно пропорциональна интенсивности бэкапирования. С емкостью диска все понятно, а вот интенсивностью бэкапирования можно выгодно манипулировать. Для раздела с актуальными рабочими данными разумно запланировать ежедневный бэкап. В этом случае объем «дампнутых» данных растет быстро, однако вы будете наилучшим образом защищены от потерь насущной работы.

Долговременные хранилища, напротив, выгодно бэкапить пореже. Информация в них меняется медленно, зато эти данные наиболее ценны и хранить их желательно как можно дольше.

Запланировать ежедневное выполнение сценария можно даже встроенными средствами Windows, однако у автора nnBackup имеется не менее мощная утилита-планировщик под названием nnCron, выполненная в аналогичной стилистике и дающая большую фору виндусовскому шедулеру. В последних версиях, кстати, эта утилита обрела графический интерфейс, так что с ее настройками, полагаю, вы без труда разберетесь.

Поделиться:
Популярные книги

В теле пацана 6

Павлов Игорь Васильевич
6. Великое плато Вита
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
В теле пацана 6

Неудержимый. Книга II

Боярский Андрей
2. Неудержимый
Фантастика:
городское фэнтези
попаданцы
5.00
рейтинг книги
Неудержимый. Книга II

Кодекс Охотника. Книга V

Винокуров Юрий
5. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
4.50
рейтинг книги
Кодекс Охотника. Книга V

Три `Д` для миллиардера. Свадебный салон

Тоцка Тала
Любовные романы:
современные любовные романы
короткие любовные романы
7.14
рейтинг книги
Три `Д` для миллиардера. Свадебный салон

Газлайтер. Том 2

Володин Григорий
2. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 2

Совок 9

Агарев Вадим
9. Совок
Фантастика:
попаданцы
альтернативная история
7.50
рейтинг книги
Совок 9

Бездомыш. Предземье

Рымин Андрей Олегович
3. К Вершине
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Бездомыш. Предземье

Охотник за головами

Вайс Александр
1. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Охотник за головами

Не грози Дубровскому!

Панарин Антон
1. РОС: Не грози Дубровскому!
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Не грози Дубровскому!

Воин

Бубела Олег Николаевич
2. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.25
рейтинг книги
Воин

Прогрессор поневоле

Распопов Дмитрий Викторович
2. Фараон
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прогрессор поневоле

Особое назначение

Тесленок Кирилл Геннадьевич
2. Гарем вне закона
Фантастика:
фэнтези
6.89
рейтинг книги
Особое назначение

Не кровный Брат

Безрукова Елена
Любовные романы:
эро литература
6.83
рейтинг книги
Не кровный Брат

Покоритель Звездных врат

Карелин Сергей Витальевич
1. Повелитель звездных врат
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Покоритель Звездных врат