Автоматический бэкап баз Mysql в Linux
Хочу рассказать в своей статье «Автоматический бэкап баз Mysql в Linux» как я делал автоматический бекап моих баз данных в Mysql. Очень полезная информация, особенно если этого не знаешь, а нужно делать бекап.
1. Установка и настройка Mysql ( надеюсь у вас уже все настроено и готова к работе, как же имеются БД для создания бекапа), я приведу информацию в своих предыдущих темах, может кому то и нужно будет:
— Установка MySQL на Debian/Ubuntu/Linux Mint
— Установка MySQL 5.5 на RHEL / CentOS и Fedora
— Установка MySQL из портов во FreeBSD
Есть еще много тем, просто поищите на сайте, если есть необходимость.
2. Создаем собственно бекап всех БД.
Для начала создадим папку, там будут лежать все наши бекапы, для этого:
# mkdir /home/captain/backup && cd /home/captain/backup
Командой создаем бекап:
# mysqldump -u root -proot -h 127.0.0.1 --all-databases | gzip > /home/captain/backup/my_database_backup_`date +%mm%dd%yy`.sql.gz
PS: Ребята, только не путаем знаки (` -тильда, которая похожа на обычную кавычку ‘). У метя там прописаны именно тильды.
Смотрим чтобы уже был созданный файл, убеждаемся что все норм:
# ls -lah
Это бывает не всегда правильно! Так так нужно всегда думать, а не сделал ли я бекап? Нужно добавить эту команду в crontab для автоматического бекапа данных mysql, делается это вот так:
# vim /etc/crontab
Этот вариант, подходит, но есть но, он выполняется от пользователя root. Желательно этого не делать. Правильно будет следующим образом:
# crontab -e
# Автоматический бэкап баз Mysql в Linux 00 00 * * * /usr/bin/mysqldump -u root -proot -h 127.0.0.1 --all-databases | gzip > /home/captain/backup/my_database_backup_`date +%mm%dd%yy`.sql.gz
Я добавил в кронтаб, задание которое будет выполнятся каждый день в 00.00. Если нужно прописать другое время, то прочитайте:
На этом, я завершаю свою тему «Автоматический бэкап баз Mysql в Linux» на моем сайте http://linux-notes.org