Manual:Backing up a wiki/ru

From MediaWiki.org

Jump to: navigation, search

Contents

Регулярное выполнение резервного копирования является обязательным для всех систем. эта статья расскажет о том как выполняется резервное копирование для типовой MediaWiki системы.

[edit] Общие сведения

MediaWiki хранит данные в двух основных хранилищах:

База данных 
Страницы и их содержимое, пользователи и их свойства, метаданные, индекс поиска и пр.
Файловая система 
Файлы конфигурации, файлы тем, расширения, изображения (удаленные изображения).

Переведите MediaWiki в режим read-only прежде чем создать резервную копию - смотрите раздел $wgReadOnly Manual:. Это будет гарантией того, что все ваши резервные копии консистентны.

[edit] База данных

Большинство критических данных wiki хранится в базе данных что посути делает ее критическим компонентом вашей системы. Выполнять резерные копии БД можно различными инструментами.

MySQL dump tool является приложением коммандной строки и предназначено для создания файлов "дампов" для базы данных.

Пример команды которую вы можете запустить через crontab crontab выглядит так

/usr/bin/nice -n 19 /usr/bin/mysqldump -u $USER --password=$PASSWORD $DATABASE -c | /usr/bin/nice -n 19 \
/bin/gzip -9 > ~/backup/wiki-$DATABASE-$(date '+%Y%m%d').sql.gz

Установите правильные значения для переменных $USER, $PASSWORD, $DATABASE. будет создан файл ежедневной копии базы данных. если вы сохраняете файлы и расширения таким образом то вы можете использовать метод предложенный this one

[edit] таблицы

В случае если фактор скорости восстановления для вас является основным резервные копии отдельных таблиц tables позволяют экономить дисковое пространство.

Обратитесь в список рассылки - раздел по данному вопросу.

[edit] Кодировка

Warning Warning: в конфигурации MySQL 4.1 and later, mysqldump может искажать MediaWiki's контент. Если кодировка базы данных установлена в "Latin1" а не "UTF-8", mysqldump в 4.1+ будет искажен вывод текста содержащего неанглийские символы.

Увидеть какая используется кодировка можно следующим методом SHOW CREATE TABLE text; последняя строка будет включать в себя значение DEFAULT CHARSET.

Если последняя строка не включает в себя DEFAULT CHARSET и вы уверены что никто не изменял кодировку сервера то wiki база данных использует кодировку "по умолчанию". Команда STATUS позволит получить значение кодировки по умолчанию в выводе. смотрите секцию Server characterset:. вот пример:

mysql> status
- - - - - - - - -
mysql  Ver 12.22 Distrib 4.0.20a, for Win95/Win98 (i32)

Connection id:          13601
Current database:
Current user:           root@localhost
SSL:                    Not in use
Server version:         4.0.20a-nt
Protocol version:       10
Connection:             localhost via TCP/IP
Client characterset:    latin1
Server characterset:    latin1
TCP port:               3306
Uptime:                 27 days 4 hours 58 min 26 sec

В данном случае используйте опцию --default-character-set=latin1 в команде mysqldump.

Пример:

/usr/bin/nice -n 19 /usr/bin/mysqldump -u $USER -p$PASSWORD --default-character-set=$CHARSET $DATABASE -c \
| /usr/bin/nice -n 19 /bin/gzip -9 > ~/backup/wiki-sql-$(date '+%a').sql.gz

[edit] Файловая система

MediaWiki сохраняет свои компоненты (файлы конфигураций LocalSettings.php, AdminSettings.php, файлы изображений (включая удаленные файлы), файлы тем и расширения)

Лучшим методом для сохранения этих данных является их сжатие в архив, например .tar файл. На Windows системах можно использовать Winzip или 7-zip.

[edit] XML dump

Для дополнения дампа базы данных рекомендуется выполнять XML дапм. XML дамп содержит content wiki страниц и всех их ревизий (информация о логина пользователей, журналы, метаданные изображений в xml дампе не храняться)

XML дампы независимы от структуры базы данных, и могут быть импортированы в новые версии MediaWiki. Вероятные проблемы при переносе данных или миграции wiki (например проблемы кодировки) можно решить при использовании XML дампов, так же они могут понадобиться в случае если восстановление БД из дампа созданного средствами mysqldump невозможно

XML дампы создаются инструментом командной строки dumpBackup.php, расположенный в каталоге maintenance. инструмент имеет дополнительные опции и вызывается php dumpBackup.php без аргументов для вывода всех доступных опций.

Если при попытке использования dumpBackup.php возникают проблемы обратитесь в раздел AdminSettings.php для исправления ошибки.

Для импорта XML-дампа в wiki используйте инструмент коммандной строки importDump.php. для небольшого набора данных вы можете использовать Special:Import через браузер (по умолчанию эта функция доступна только sysop группе). Альтернативой dumpBackup.php и importDump.php, является MWDumper, это быстрый инструмент требующий Java runtime environment. Для получения дополнительной информации посмотрите Manual:Importing XML dumps.

[edit] Скрипты

Warning Warning: Use these at your own risk.
  • неофициальный скрипт резервного копирования User:Duesentrieb: [1]; создает резервную копию всех фалов, дамп базы данных, xml дамп.
  • неофициальный скрипт резервного копирования Flominator: User:Flominator/Backup MW;

создает резервную копию всех файлов и базы данных с возможной ротацией резервных копий.

  • неофициальный скрипт резервного копирования с веб интерфейсом mw_tools от Wanglong (allwiki.com);

вы можете использовать его как для бэкапа вашей базы данных так и для восстановления ее.

[edit] Внешние ссылки