Как автоматически сделать резервную копию базы данных MySQL с помощью сценария Bash

Kak Avtomaticeski Sdelat Rezervnuu Kopiu Bazy Dannyh Mysql S Pomos U Scenaria Bash



MySQL — это популярная СУБД, которая помогает легко хранить и управлять реляционными базами данных. Он также предоставляет клиентскую утилиту mysqldump для создания логической резервной копии баз данных MySQL. MySQL поддерживает несколько языков и платформ, что означает, что вы можете использовать сценарии Bash для использования утилиты mysqldump для резервного копирования в Linux.

В этом руководстве будет показано, как автоматически создавать резервные копии баз данных MySQL с помощью сценария Bash, шаг за шагом.

Как автоматически сделать резервную копию базы данных MySQL с помощью сценария Bash?

Создайте сценарий Bash для резервного копирования базы данных MySQL. Во-первых, откройте терминал, создайте каталог и перейдите в него, введя следующие команды:







mkdir mysqlbackup

cd mysqlbackup/

Вывод показывает, что вы успешно перешли в каталог:





Создайте bash-скрипт с именем « резервная копия.ш ” с помощью любого редактора, для этого поста используется редактор nano:





нано бекап.ш

Скрипт bash создаст:



Укажите учетные данные MySQL и имя базы данных, резервную копию которой вы хотите создать:

DB_USER='имя пользователя'

DB_PASS='пароль'

DB_

Установите каталог резервного копирования « BACKUP_DIR », указав место, где должен быть сохранен файл резервной копии:

BACKUP_DIR='/path/to/your/backup/directory'

Установите формат даты для имени файла резервной копии:

ДАТА=$(дата +'%Y-%m-%d_%H-%M-%S')

Используйте эту команду mysqldump с учетными данными базы данных MySQL, чтобы создать файл резервной копии SQL:

mysqldump --user=$DB_USER --password=$DB_PASS $DB_NAME > $BACKUP_DIR/$DB_NAME-$DATE.sql

Чтобы сжать файл резервной копии SQL с помощью инструмента gzip, используйте эту команду:

gzip $BACKUP_DIR/$DB_NAME-$DATE.sql

Чтобы сэкономить место на диске, удалите старые файлы резервных копий через определенный период времени, за этот период « 7 Файл резервной копии старой версии будет удален с помощью этой команды:

найти $BACKUP_DIR -type f -name '*.gz' -mtime +7 -delete

Сохраните файл и выйдите из редактора nano, нажав « CTRL+Х ” ключи:

Измените разрешения сценария bash на исполняемый, выполнив эту команду:

chmod +x backup.sh

Безошибочный вывод означает успешное выполнение команды:

Запустите скрипт с помощью этой команды bash:

sudo bash backup.sh

Введите пароль Ubuntu и используйте « лс », чтобы проверить, создан ли файл резервной копии:

Файл резервной копии успешно создан с помощью сценария bash. Теперь, чтобы автоматизировать процесс резервного копирования с помощью « хрон Утилита планировщика заданий. Чтобы отправить новое задание cron, используйте « -Это ” вариант с crontab:

кронтаб -е

Установите время для автоматического запуска скрипта bash. Для этого поста « 2 ЧАСА НОЧИ ” выбран для автоматического запуска скрипта:

0 2 * * * /путь/к/backup_mysql.sh

Сохраните и выйдите из файла:

Давайте посмотрим на другую команду, если вы хотите делать резервную копию базы данных после каждого « 5 минут » введите это и сохраните файл:

*/5 * * * * /path/to/backup_mysql.sh

Для успешного создания задания crontab потребуется некоторое время:

Проверьте каталог на наличие файлов резервных копий, которые автоматически создаются после « 2 ЧАСА НОЧИ ', используя ' лс команда:

Файлы резервных копий базы данных MySQL создаются автоматически с помощью сценария bash и утилиты cron.

Заключение

Создайте сценарий bash, указав учетные данные MySQL и имя базы данных, резервную копию которой вы хотите создать, и формат имени файла. Используйте команду mysqldump для создания резервного файла SQL, gzip для его сжатия и запуска сценария. Используйте crontab, чтобы сделать процесс резервного копирования автоматическим. В этом посте обсуждалось, как автоматически создавать резервные копии базы данных MySQL с помощью сценария Bash.