Базовая реализация резервного копирования на основе 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, поэтому изначально это должно быть
созданный вместе с каталогом базы данных вики.
Прелесть регистрации (и подобных инструментов) в том, что она вычисляет
отличие от предыдущей версии и хранит только это. Все предыдущие версии
хранятся в виде «дельт» — другими словами, изменения, которые необходимо применить к
текущую версию, чтобы восстановить предыдущую. Это значительно сокращает объем памяти
требования, даже если, как здесь, файлы резервных копий не сжаты. Так как после
первоначальный шквал правок, типичная вики-страница остается довольно стабильной, вы обнаружите, что
файлы резервных копий растут очень мало.