Автоматический бэкап баз Mysql в Linux

Автоматический бэкап баз 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
2 lines
# Автоматический бэкап баз 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. Если нужно прописать другое время, то прочитайте:

 создать cron задание

На этом, я завершаю свою тему «Автоматический бэкап баз Mysql в Linux» на моем сайте http://linux-notes.org

Was this helpful?

0 / 0