Компьютерра - Журнал «Компьютерра» № 18 от 15 мая 2007 года
Определив сверхзадачу, давайте формализуем пожелания. Итак, пофайловые бэкапы должны:
• происходить из рабочей операционной системы;
• не требовать внимания пользователя, но при этом быть для него прозрачными;
• быть инкрементными – заново копироваться должны только изменившиеся с прошлого бэкапа данные;
• быть устойчивы к человеческому фактору, чтобы в случае чего был доступ не только к копии текущего состояния винчестера, но и к файлу, случайно удаленному две недели тому назад;
• происходить со скоростью, близкой к максимально возможной скорости работы дисковой подсистемы компьютера;
• просто и наглядно отделять «мусор» от открытых для бэкапирования данных;
• поддерживать достаточно глубокую вложенность директорий и кодировку unicode в именах файлов.
Как видите, перечисленные требования вполне реализуемы несколькими банальными, всем знакомыми операциями с файловой системой: скопировать, переместить, удалить да запланировать все это в определенной последовательности. Казалось бы, гораздо более простая задача, чем посекторное копирование разделов, но – удивительно! – я не нашел ни единой высокоуровневой программы с графическим интерфейсом, которая могла бы достойно выполнить эти пожелания. Роскошные навороченные платные комплексы, бесплатные «поделки на коленке» – все они пасовали в лучшем случае на трех из перечисленных пунктов. На помощь пришла отечественная разработка – консольная утилита nnBackup. Это гениальная программа, при весе всего в 350 килобайт позволяющая организовать пофайловые бэкапы практически любой сложности. Можно просто регулярно копировать информацию; можно создавать «дампы» только изменившихся данных или синхронизировать две папки; можно работать не только с реальными файлами, но и с текстовым «слепком» файловой системы; можно запланировать расфасовку сделанного бэкапа по директориям заданного объема, чтобы каждая из них поместилась на CD или DVD с сохранением оригинальной структуры вложенных директорий. Есть еще с десяток разных функций, комбинируя которые можно достичь практически любого результата. Программа ведет скрупулезный лог своих действий, в результате чего локализация любой возникшей проблемы не вызывает никаких трудностей. Большая часть действий утилиты сводится к операциям копирования, которые производятся операционной системой, а не каким-то там подозрительным драйвером, за счет чего скорость бэкапирования вплотную приближается к скорости обыкновенного копирования вашего компьютера.
Увы и ах, как и за все другое, за отличную функциональность приходится платить. Но в данном случае не деньгами, так как утилита бесплатна для русскоязычного населения, а временем и мозговыми ресурсами. Общение с программой происходит только через командную строку, так что даже несмотря на превосходную русскоязычную справку, настройка требует изрядного напряжения серого вещества. Для облегчения этого процесса предлагаю вам ознакомить с моей конфигурацией бэкапа динамично меняющегося рабочего раздела, а при настройке своей системы отталкиваться уже от нее.
С целью упрощения процесса создания сценария бэкапа, исполняемый файл nnbackup exe можно попросить брать команды не из командной строки, а из текстового файла, который очень удобно комментировать. Вот, к примеру, создадим в папке nnBackup файл config cfg. Строчки, обозначенные обратным слэшем, – комментарии, а все остальные – команды (см. врезку).
Синхронизировать приемный каталог с
исходным. В этом случае из исходного
каталога в приемный копируется вся
информация, которой там еще нет:
sync
Исходный каталог:
– i W:
И приемный каталог:
– o «X:w"
Учитывать все подкаталоги при копировании:
– s
Сравнивать при синхронизации не только
время последней модификации файла, но и
время его создания:
– tc
Сравнивать при синхронизации еще и размер
файла, а также бэкапить файлы, даже если
дата их модификации в исходном каталоге
изменилась в обратную сторону:
– ad
Удалять в приемном каталоге файлы,
отсутствующие в исходном каталоге:
– da
Этот ключ определяет поведение программы
в случае, если какой-то каталог был удален в
исходном каталоге, но все еще содержится в
резервной копии:
– nd
Исключать из бэкапа все файлы и
директории, имя которых заканчивается
на[email protected]:
– x *[email protected]
Оставлять копию всей информации, которая
меняется или удаляется в приемном каталоге.
При этом помещать измененные файлы в
специальный каталог «W_dumps», создавая
каждый раз подкаталог с именем в виде
текущей даты:
– backup X:W_dumps%YYYY%-%MM%-%DD%
Если теперь запустить nnbackup exe с ключом – f config cfg, он прочтет содержимое конфигурационного файла. Весь диск W: будет скопирован в папку X:w на бэкапном HDD. Помните пункт о наглядном отделении «мусора» от требующих резервного копирования данных? Все папки и файлы, оканчивающиеся на»[email protected]», будут проигнорированы. Таким образом, чтобы запретить бэкап, предположим, захваченного только что с ТВ-тюнера сериала, достаточно к названию папки с захватами добавить»[email protected]», например, так: «W:[email protected]". Сразу видно, что это папка-неудачница! Конечно, такое замысловатое буквосочетание я придумал сам, встретить подобную «символьную тусовку» в реальной жизни почти невероятно. Вы можете придумать любое свое обозначение.
Итак, при первом запуске содержимое диска W: за оговоренным исключением скопируется в X:w. В результате каждого повторного запуска скрипта содержимое исходного диска будет пофайлово сравниваться с копией, и если на бэкапируемом разделе что-то изменилось, копия будет приводиться в полное соответствие с оригиналом. Самое интересное в том, что всякое изменение, происходящее с бэкапом, не канет в лету, но будет аккуратно отражено в папке X:W_dumps, в которой вы всегда сможете найти удаленный невзначай файл. Временна, я глубина дампов прямо пропорциональна емкости бэкапного HDD и обратно пропорциональна интенсивности бэкапирования. С емкостью диска все понятно, а вот интенсивностью бэкапирования можно выгодно манипулировать. Для раздела с актуальными рабочими данными разумно запланировать ежедневный бэкап. В этом случае объем «дампнутых» данных растет быстро, однако вы будете наилучшим образом защищены от потерь насущной работы.
Долговременные хранилища, напротив, выгодно бэкапить пореже. Информация в них меняется медленно, зато эти данные наиболее ценны и хранить их желательно как можно дольше.
Запланировать ежедневное выполнение сценария можно даже встроенными средствами Windows, однако у автора nnBackup имеется не менее мощная утилита-планировщик под названием nnCron, выполненная в аналогичной стилистике и дающая большую фору виндусовскому шедулеру. В последних версиях, кстати, эта утилита обрела графический интерфейс, так что с ее настройками, полагаю, вы без труда разберетесь.
Справедливости ради и стимулирования для отмечу несколько недостатков nnBackup. Во-первых, программа хоть и поддерживает опцию архивирования, из-за, видимо, лицензионных соображений эта функция ограничена использованием старых библиотек zip, не умеющих создавать на выходе файлы размером более 2 Гбайт. Во-вторых, хоть в последних версиях nnBackup заявлена поддержка файлов с юникодовыми именами, в действительности иногда возникают проблемы при работе с файлами, имеющими длинные русскоязычные имена (может быть, Acronis True Image на них же спотыкался?). В-третьих, конечно, программе не хватает простенького графического интерфейса, который мог бы здорово сэкономить время ее настройки.
Не забудьте про себяЧто еще можно придумать, чтобы обезопасить свои информационные богатства? Если в доме несколько компьютеров, можно организовать перекрестный или цепочный бэкап, чтобы каждый компьютер бэкапился на соседа. Это исключит возможность потери данных в результате редких случаев порчи всей «начинки» компьютера зараз. Дабы избежать природных катаклизмов и прочих «обстоятельств непреодолимой силы», можно организовать перекрестный бэкап через Интернет с компьютером какого-нибудь другого пара… единомышленника. Систему бэкапов можно улучшать и усложнять бесконечно. Важно, однако, в какой-то момент остановиться, потому что иначе можно прийти к мысли о бэкапе собственной головы. Вот только не будет ли поздно?..
СОФТЕРРА: Софтерринки
Автор: Илья Шпаньков
Блокнот с секретомОС Windows
Адрес jsimlo sk/notepad
Версия 5.3.1 beta
Размер 166 Кбайт
Интерфейс многоязычный (русский не поддерживается)
Цена бесплатно
Лицензия проприетарная (freeware)
Мало кого устраивает штатный Блокнот, входящий в состав Windows, но и использовать массивные текстовые редакторы для быстрых заметок тоже не дело. Возможно, нам поможет программа TED Notepad, которая объединяет свойства как обычного блокнота, так и мощного текстового редактора. Приложение корректно поддерживает Unicode, обладает встроенными средствами поиска и замены текста, умеет сортировать строки и автоматически закрывать HTML– или XML-теги. В новой версии TED Notepad появилась опция автосохранения файла и отслеживания изменений, сделанных в тексте другой программой, добавлена возможность принудительной вставки отступа в первой строке нового абзаца, а также введено множество более мелких улучшений.