Как автоматично да архивирате MySQL база данни с помощта на Bash скрипт

Kak Avtomaticno Da Arhivirate Mysql Baza Danni S Pomosta Na Bash Skript



MySQL е популярна RDBMS, която помага за съхраняване и управление на релационни бази данни без усилие. Той също така предоставя mysqldump клиентска програма за създаване на логическо архивиране на MySQL бази данни. MySQL поддържа множество езици и платформи, което означава, че можете да използвате Bash скриптове, за да използвате помощната програма mysqldump за архивиране в Linux.

Това ръководство ще демонстрира как автоматично да архивирате MySQL бази данни с помощта на Bash скрипт, стъпка по стъпка.

Как автоматично да архивирате MySQL база данни с помощта на Bash скрипт?

Създайте Bash скрипт за архивиране на MySQL базата данни. Първо отворете терминала, създайте директория и отидете до директорията, като въведете тези команди:







mkdir mysqlbackup

cd mysqlbackup/

Изходът показва, че успешно сте навигирали до директорията:





Създайте bash скрипт с име „ backup.sh ” използвайки произволен редактор, за тази публикация се използва нано редактор:





nano backup.sh

Скриптът bash ще създаде:



Предоставете идентификационните данни на MySQL и името на базата данни, която искате да архивирате:

DB_USER='потребителско име'

DB_PASS='парола'

DB_

Задайте директорията за архивиране ' BACKUP_DIR ”, като предоставите местоположението, където архивният файл трябва да бъде запазен:

BACKUP_DIR='/път/към/вашата/резервна/директория'

Задайте формата на датата за името на архивния файл:

ДАТА=$(дата +'%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 -тип f -име '*.gz' -mtime +7 -изтриване

Запазете файла и излезте от нано редактора, като натиснете „ CTRL + X ” ключове:

Променете разрешенията на bash скрипта на изпълним, като изпълните тази команда:

chmod +x backup.sh

Изходът без грешки означава, че изпълнението на командата е успешно:

Стартирайте скрипта, като използвате тази команда bash:

sudo bash backup.sh

Въведете паролата на Ubuntu и използвайте „ ls ”, за да проверите дали архивният файл е създаден или не:

Архивният файл е създаден успешно с помощта на bash скрипта. Сега, за да автоматизирате процеса на архивиране, като използвате „ cron ” помощна програма за планиране на задачи. За да изпратите нова cron задача, използвайте „ -То е ” опция с crontab:

crontab -е

Задайте времето за автоматично изпълнение на bash скрипта. За тази публикация, „ 2 СУТРИНТА ” е избрано за автоматично изпълнение на скрипта:

0 2 * * * /path/to/backup_mysql.sh

Запазете и излезте от файла:

Нека да видим друга команда, ако искате да архивирате вашата база данни след всеки ' 5 минути ” въведете това и запазете файла:

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

Crontab ще отнеме известно време, за да създаде успешно заданието:

Проверете директорията за архивни файлове, които се създават автоматично след „ 2 СУТРИНТА ', използвайки ' ls ” команда:

Файловете за архивиране на базата данни на MySQL се създават автоматично с помощта на скрипта bash и помощната програма cron.

Заключение

Създайте bash скрипт, като предоставите идентификационни данни за MySQL и името на базата данни, която искате да архивирате, и формата на името на файла. Използвайте командата mysqldump за създаване на резервен SQL файл, gzip за компресиране и стартирайте скрипта. Използвайте crontab, за да направите процеса на архивиране автоматичен. Тази публикация обсъди как автоматично да архивирате MySQL база данни с помощта на Bash скрипт.