резервное копирование баз данных MySql и по электронной почте их где-то в определенное время - PullRequest
0 голосов
/ 28 апреля 2009

Мы работаем на сервере CentOS с большим количеством баз данных MySql, и мне нужен действительно простой способ их резервного копирования. Поскольку многие из них находятся под пару мег. Сброс, архивирование и отправка их в защищенный аккаунт Google Apps звучит довольно неплохо.

Итак, мне нужно: скрипт, который будет выгружать и архивировать базу данных, а затем отправлять ее куда-нибудь по электронной почте, если в другом месте не получится,

1 Ответ

2 голосов
/ 28 апреля 2009

Я использую следующий скрипт для отправки небольшого дампа на выделенную почтовую учетную запись. Это, конечно, предполагает, что вы можете отправлять почту с вашего компьютера с помощью команды mail.

#!/bin/bash
gzdate=`/bin/date +%Y-%m-%d_%H%M`;
gzfile=dump_${gzdate}.sql.gz
mailrecpt=recipient@domain.com
dumpuser=username
dbname=mydb
mysqldump --single-transaction --opt -u ${dumpuser} ${dbname} | gzip > ${gzfile}
if [ $? == 0 ]; then    
    ( echo "Database Backup from ${gzdate}:"; uuencode ${gzfile} ${gzfile} ) | mail -s "Database Backup ${gzdate}" ${mailrecpt};
else
    ( echo "Database Backup from ${gzdate} failed." ) | mail -s "FAILED: Database Backup ${gzdate}" ${mailrecpt};
fi

Вам просто нужно адаптировать переменные вверху.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...