Резервное копирование · 3 min read · Jan 26, 2026

Создание резервных копий MySQL с помощью AutoMySQLBackup

Создание резервных копий MySQL с помощью AutoMySQLBackup

Версия 1.0
Автор: Фалко Тимме

AutoMySQLBackup — это оболочка, которая позволяет вам делать ежедневные, еженедельные и ежемесячные резервные копии ваших баз данных MySQL с помощью mysqldump. Она может создавать резервные копии нескольких баз данных, сжимать резервные копии, создавать резервные копии удаленных баз данных и отправлять логи по электронной почте.

Я не даю никаких гарантий, что это будет работать для вас!

1 Предварительная заметка

AutoMySQLBackup использует mysqldump для создания SQL дампов ваших баз данных. Пожалуйста, имейте в виду, что mysqldump заблокирует ваши базы данных во время создания резервной копии, и это может занять от менее секунды до нескольких минут, в зависимости от размера вашей базы данных. Если вы управляете веб-сайтом с высоким трафиком и большой базой данных, то AutoMySQLBackup не для вас!

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

2 Использование AutoMySQLBackup

Вы можете скачать AutoMySQLBackup следующим образом:

cd /usr/local/bin
wget http://mesh.dl.sourceforge.net/sourceforge/automysqlbackup/automysqlbackup.sh.2.5

Затем откройте automysqlbackup.sh.2.5 и посмотрите на параметры конфигурации. Они все хорошо объяснены. Вы должны как минимум настроить следующие параметры:

vi automysqlbackup.sh.2.5

| [...] USERNAME=root [...] PASSWORD=yourrootsqlpassword [...] DBHOST=localhost [...] # Список DBNAMES для ежедневной/еженедельной резервной копии, например, "DB1 DB2 DB3" DBNAMES="db_ispconfig web1 web2 web3" [...] # Место расположения каталога резервных копий, например /backups BACKUPDIR="/backups" [...] # Адрес электронной почты для отправки почты? ([email protected]) MAILADDR="[email protected]" [...] |

DBNAMES может содержать одну или несколько баз данных, разделенных пробелами.

Если BACKUPDIR не существует, automysqlbackup.sh.2.5 создаст его автоматически.

Убедитесь, что вы ввели правильный пароль и хост базы данных. Если вы хотите создать резервные копии локальных баз данных, используйте localhost; если вы хотите создать резервные копии удаленных баз данных, используйте удаленное имя хоста (пожалуйста, обратите внимание, что удаленный сервер базы данных должен быть настроен для разрешения удаленных подключений!).

Теперь мы должны сделать скрипт исполняемым:

chmod 755 automysqlbackup.sh.2.5

Теперь вы можете запустить automysqlbackup.sh.2.5 следующим образом, если вы находитесь в каталоге /usr/local/bin:

./automysqlbackup.sh.2.5 

… или так из любого другого каталога:

automysqlbackup.sh.2.5

Это пример вывода:

AutoMySQLBackup VER 2.5
http://sourceforge.net/projects/automysqlbackup/

Время начала резервного копирования Пт Окт 17 16:00:51 CEST 2008

Ежедневная резервная копия базы данных ( db_ispconfig )
Поворот последней недельной резервной копии…

Информация о резервной копии для /backups/daily/db_ispconfig/db_ispconfig_2008-10-17_16h00m.Friday.sql
сжатая несжатая соотношение несжатого имени
37231 382465 90.3% /backups/daily/db_ispconfig/db_ispconfig_2008-10-17_16h00m.Friday.sql

———————————————————————-
Конец резервного копирования Пт Окт 17 16:00:52 CEST 2008

Общий объем дискового пространства, используемого для хранения резервных копий..
Размер - Местоположение
68K /backups

Если вы считаете AutoMySQLBackup полезным, пожалуйста, сделайте пожертвование на
http://sourceforge.net/project/project_donations.php?group_id=101066

server1:~#

Посмотрите на каталог /backups…

ls -l /backups

… и вы должны найти три подкаталога, ежедневный, еженедельный и ежемесячный:

server1:~# ls -l /backups/
total 12
drwxr-xr-x 3 root root 4096 2008-10-17 16:00 daily
drwxr-xr-x 2 root root 4096 2008-10-17 16:00 monthly
drwxr-xr-x 3 root root 4096 2008-10-17 16:00 weekly
server1:~#

Эти каталоги будут содержать подкаталоги, названные в честь баз данных, которые вы выбрали для резервного копирования. Например, если вы выбрали базу данных db_ispconfig, будет каталог /backups/daily/db_ispconfig, содержащий дамп базы данных:

cd /backups/daily/db_ispconfig
ls -l

server1:/backups/daily/db_ispconfig# ls -l
total 40
-rw-r–r– 1 root root 37231 2008-10-17 16:00 db_ispconfig_2008-10-17_16h00m.Friday.sql.gz
server1:/backups/daily/db_ispconfig#

Расширение .gz означает, что файл сжат. Чтобы восстановить базу данных, вам сначала нужно будет разжать дамп:

gunzip db_ispconfig_2008-10-17_16h00m.Friday.sql.gz

… (это даст вам несжатый дамп с именем db_ispconfig_2008-10-17_16h00m.Friday.sql) и затем восстановить его, как описано на https://www.howtoforge.com/faq/6_4_en.html.

Конечно, вы не хотите запускать automysqlbackup.sh.2.5 вручную все время. Поэтому мы можем создать ежедневную задачу cron для этого следующим образом:

cd /etc/cron.daily/
ln -s /usr/local/bin/automysqlbackup.sh.2.5 automysqlbackup

3 Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.