Mediawiki backup

Материал из Цезарионии
Перейти к: навигация, поиск

Казалось бы, на сайте движка есть информация о его бекапе. Но, с одной стороны, информации много; с другой, приведено более одного конкретного рецепта, и ни один из них не является официальным. Вот как делаю я:

Бекап базы данных MySQL:
#!/bin/bash
FNAME=`date +%Y-%m-%d_%H-%M-%S`
mysqldump --databases <DB> -u <USER> -p<PASSWORD> --add-drop-table -B > ./${FNAME}.sql

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

Файловая система[править]

По идее файлы движка должны писаться только вручную, например, при смене версии, так что всё бекапить необязательно. Нужно бекапить:

  • файл LocalSettings.php (хотя писаться он, опять же, должен только вручную)
  • папку extensions. Надо уточнить, имеет ли право движок её менять. Логично предположить, что нет, но это не точно.
  • папку images (или где там вы настроили загрузки) — вот это уж точно пишет сам движок. Если загрузка файлов вообще разрешена.

Продолжение скрипта:
zip -r ./${FNAME}.zip ../wiki/images/ ./${FNAME}.sql ../wiki/LocalSettings.php
rm ${FNAME}.sql

Для вызова скрипта из браузера можно создать файл backup.php:
<?php
exec('./backup.sh');
?>

Не забыть дать права (запись в папку и +x backup.php для веб-сервера).

Осталось настроить скачивание и ротацию бекапов.