Базовая реализация резервного копирования на основе RCS для каждой страницы

модификация требует, чтобы мы знали, где находятся исполняемые файлы RCS (определяемые как файл

системный путь в $RcsBin, либо полный, либо относительный известный текущий корень). Для

резервное копирование, мы используем модуль ci; для восстановления нам нужен co; и для анализа различий,

diff — некоторые дополнительные параметры возможны с внешним интерфейсом rcsdiff.

Чтобы выполнить резервное копирование RCS каждой модификации страницы, вставьте одну команду

сразу после сохранения измененной страницы, но до снятия блокировки:

'$RcsBin/ci "-m$msg" -t-"" -l$v -x,v $file 2>&1' ;

Обратите внимание на специальную обратную кавычку, которая указывает Perl искать исполняемый файл и

передать командную строку. Передаваемые параметры с помощью переключателя (-m) являются обновлением

сообщение, определенное ранее, (-t - " " ) код, который инициализирует файл резервной копии, если он


АДМИНИСТРИРОВАНИЕ БАЗЫ ДАННЫХ

309

отсутствует, (-1) номер новой версии, (-x) расширение файла резервной копии, а затем

путь к странице и имя файла. Последний бит просто гарантирует, что любые сообщения об ошибках

передается обратно в качестве возвращаемого значения на случай, если мы хотим отладить — добавьте к строке префикс «print»

увидеть это. Синтаксис и порядок параметров важны, поэтому будьте очень осторожны, если вы

изменить это.

Исполняемый файл ci (регистрация) предполагает, если не указано иное, что значение по умолчанию

расположение файлов резервных копий находится в подкаталоге с именем RCS, поэтому изначально это должно быть

созданный вместе с каталогом базы данных вики.

Прелесть регистрации (и подобных инструментов) в том, что она вычисляет

отличие от предыдущей версии и хранит только это. Все предыдущие версии

хранятся в виде «дельт» — другими словами, изменения, которые необходимо применить к

текущую версию, чтобы восстановить предыдущую. Это значительно сокращает объем памяти

требования, даже если, как здесь, файлы резервных копий не сжаты. Так как после

первоначальный шквал правок, типичная вики-страница остается довольно стабильной, вы обнаружите, что

файлы резервных копий растут очень мало.