KARTz.RU
кушаешь морковь – встанет вновь и вновь

Дамп базы: что надо куда надо

Апрель 14th, 2011

??мелся сервер БД. Возникло 2 проблемы:

1. Нужно создавать дамп на другую машину, так как при падении есть шанс потерять и базу, и дамп.

2. Нужно дампить всё, кроме одной таблицы. В ней википедия, которая огромна и меняется нечасто, и легко восстанавливается при сбое.

1. Пишем скрипт


header('Content-type: application/x-tar');
header('Content-Disposition: attachment; filename="dump-'.date('Y-m-d-H-i-s').'.sql.bz2"');
passthru('mysqldump --user=dumper --password=dumperpassword --all-databases --ignore-table=wiki.wiki --single-transaction | bzip2 -czv -7');

2. Создаём пользователя dumper с привилегиями
SELECT, SHOW DATABASES, LOCK TABLES, SHOW VIEW
??з соображений безопасности не разрешаем ему ничего менять.

3. На другой машине в crontab добавляем удалённый вызов этого скрипта


7 7 * * * wget http://server/secret-script.php

4. Меняем для себя пароль для dumper и имя секретного скрипта. Пользуемся


Filed under: Без рубрики | Метки: ,
Апрель 14th, 2011 01:35:47

Похожие посты:
2 comments

admin
20/10/2012

#!/bin/sh
d=`date +%F-%H-%M-%S`
s=`mysql –user=dumper –password=dumperpassword –batch –skip-column-names -e «SHOW DATABASES;» | grep -v wiki3g | grep -v schema`
for i in $s; do
echo $i
mysqldump –user=dumper –password=dumperpassword $i | bzip2 -czv > $i.$d.sql.bz2
sleep 1
done


admin
20/10/2012

#!/bin/sh
for i in $1/*; do
tar -cvjf $i.`date +%F-%H-%M-%S`.tar.bz2 $i/
done

Leave a Reply