Как запланировать работу cron для резервного копирования базы данных MySql каждую неделю? - PullRequest
2 голосов
/ 01 июня 2010

Что такое командная строка, которую я могу использовать для резервного копирования базы данных MySql каждую неделю в имя файла с датой (чтобы оно не конфликтовало с предыдущими резервными копиями)?

Кроме того, это разумная стратегия резервного копирования? Моя база данных относительно мала (полный экспорт сейчас составляет всего 3,2 мегабайта). Скорость оттока относительно низкая. Мне нужно иметь возможность вернуть полную БД, если что-то пойдет не так. И было бы очень здорово, если бы я мог видеть изменения, которые происходят за промежуток времени.

Ответы [ 3 ]

2 голосов
/ 01 июня 2010

Вы можете попробовать что-то вроде этого:

0 4 1 * * DATE=`date +%y-%m-%d`; mysqldump -u <dbuser> -p<dbpasswd> <dbname> | gzip > dbname-$DATE.sql.gz

Который будет выгружать вашу базу данных (и распаковывать ее) первого числа каждого месяца в 4:00.

1 голос
/ 01 июня 2010

Еженедельное резервное копирование с cron и mysqldump:

Кредит идет к ответу @timdev (+1) за предоставление командной строки.

Синтаксис cron выглядит следующим образом:

* * * * * = [minute] [hour] [day of month] [month] [day of week]

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

0 4 1,8,15,21,28 * * DATE=`date +%y-%m-%d`; mysqldump -u <dbuser> -p<dbpasswd> <dbname> | gzip > dbname-$DATE.sql.gz

Это будет выполняться в 4:00 утра 1, 8, 15, 21 и 28 числа каждого месяца.

0 голосов
/ 01 июня 2010

Вы можете попробовать MySQL Replication

Репликация включает данные из одного Сервер базы данных MySQL (мастер) для реплицироваться на один или несколько MySQL серверы баз данных (рабов). Репликация асинхронная - раб не нужно постоянно подключен к получать обновления от мастера. это означает, что обновления могут происходить в течение междугородние связи и даже по временному или прерывистому соединения, такие как услуга удаленного доступа.

Таким образом, если что-то пойдет не так с вашей основной базой данных (ведущей), ведомое устройство может служить готовой к замене.

...