Сейчас 127 заметки.
Как выполнить резервное копирование MediaWiki
Регулярное выполнение резервного копирования является обязательным для всех систем. эта статья расскажет о том как выполняется резервное копирование для типовой MediaWiki системы.
Общие сведения[править]
MediaWiki хранит данные в двух основных хранилищах:
- База данных
- Страницы и их содержимое, пользователи и их свойства, метаданные, индекс поиска и пр.
- Файловая система
- Файлы конфигурации, файлы тем, расширения, изображения (удаленные изображения).
Переведите MediaWiki в режим read-only прежде чем создать резервную копию - смотрите раздел Manual:$wgReadOnly. Это будет гарантией того, что все ваши резервные копии непротиворечивы (тем не менее, некоторые из установленных дополнений могут записывать данные в базу).
База данных[править]
Большинство критических данных wiki хранится в базе данных, что, по сути, делает ее критическим компонентом вашей системы. Выполнять резерные копии БД можно различными инструментами.
MySQL dump tool является приложением коммандной строки и предназначено для создания файлов "дампов" для базы данных.
Пример команды которую вы можете запустить через 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. будет создан файл ежедневной копии базы данных. если вы сохраняете файлы и расширения таким образом то вы можете использовать метод предложенный здесь.
Если Вы хотите добавить задание сохранения базы в планировщик Cron через Cpanel, то вы должны экранировать символ "%"
/usr/bin/mysqldump -u $USER --password=$PASSWORD $DATABASE -c |/bin/gzip > ~/backup/wiki-$DATABASE-$(date '+\%Y\%m\%d').sql.gz
В противном случае, Вы получите ошибку:
/bin/sh: -c: line 0: unexpected EOF while looking for matching `'' /bin/sh: -c: line 1: syntax error: unexpected end of file
Таблицы[править]
В случае если фактор скорости восстановления для вас является основным резервные копии отдельных таблиц tables позволяют экономить дисковое пространство.
Обратитесь в список рассылки - раздел по данному вопросу.
Кодировка[править]
Увидеть какая используется кодировка можно следующим методом 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
Файловая система[править]
MediaWiki сохраняет свои компоненты (файлы конфигураций LocalSettings.php, AdminSettings.php, файлы изображений (включая удаленные файлы), файлы тем и расширения)
Лучшим методом для сохранения этих данных является их сжатие в архив, например .tar файл. На Windows системах можно использовать Winzip или 7-zip.
XML dump[править]
Для дополнения дампа базы данных рекомендуется выполнять XML дапм. В XML дамп входит содержимое wiki-страниц и всех их ревизий (информация о логинаx пользователей, журналы, метаданные изображений в 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.