Jak automatycznie tworzyć kopię zapasową bazy danych MySQL za pomocą skryptu Bash

Jak automatycznie tworzyć kopię zapasową bazy danych MySQL za pomocą skryptu Bash
MySQL to popularny RDBMS, który pomaga w przechowywaniu i zarządzaniu relacyjnymi bazami danych. Zapewnia również narzędzie klienta MySQLDUMP do tworzenia logicznej kopii zapasowej baz danych MySQL. MySQL obsługuje wiele języków i platform, co oznacza, że ​​możesz użyć skryptów Bash, aby użyć narzędzia MySQLDUMP do tworzenia kopii zapasowych w Linux.

Ten przewodnik pokaże, jak automatycznie zapasować bazy danych MySQL za pomocą skryptu Bash, krok po kroku.

Jak automatycznie tworzyć kopię zapasową bazy danych MySQL za pomocą skryptu Bash?

Utwórz skrypt bash do tworzenia kopii zapasowej bazy danych MySQL. Najpierw otwórz terminal, utwórz katalog i przejdź do katalogu, wpisując te polecenia:

mkdir mysqlbackup
CD Mysqlbackup/

Wyjście wyświetla się, że pomyślnie nawigowałeś do katalogu:

Utwórz skrypt bash o nazwie „kopia zapasowa.cii„Korzystanie z dowolnego edytora, do tego postu używana jest edytor Nano:

kopia zapasowa nano.cii

Skrypt Bash utworzy:

Podaj poświadczenia MySQL i nazwę bazy danych, którą chcesz wykonać kopię zapasową:

Db_user = „nazwa użytkownika”
Db_pass = "hasło"
Db_name = "nazwa bazy danych"

Ustaw katalog kopii zapasowej „Backup_dir”Zapewniając lokalizację, w której plik kopii zapasowej powinien zapisać:

Backup_dir = "/ścieżka/do/twoich/backup/Directory"

Ustaw format daty dla nazwy pliku kopii zapasowej:

Data = $ (data +"%y-%m-%d_%h-%m-%s")

Użyj tego polecenia MySQLDump z poświadczeniami bazy danych MySQL, aby utworzyć plik kopii zapasowej SQL:

MySQLDUMP --USER = $ db_user--Password = $ db_pass $ db_name> $ backup_dir/$ db_name- $ data.SQL

Aby kompresować plik kopii zapasowej SQL za pomocą narzędzia GZIP, użyj tego polecenia:

gzip $ backup_dir/$ db_name-$ data.SQL

Aby zapisać miejsce na dysku, usuń stare pliki kopii zapasowych po okresie, w tym okresie ”7„Dni Plik kopii zapasowej zostanie usunięty za pomocą tego polecenia:

Znajdź $ backup_dir -Type f -name "*.GZ "-MTime +7 -Delete

Zapisz plik i wyjdź z edytora nano według prasy „Ctrl + x" Klucze:

Zmień uprawnienia skryptu Bash na wykonywalne, uruchamiając to polecenie:

CHMOD +X Backup.cii

Wyjście wolne od błędów oznacza, że ​​wykonanie polecenia zakończy się powodzeniem:

Uruchom skrypt za pomocą tego polecenia Bash:

Backup Sudo Bash.cii

Wpisz hasło Ubuntu i użyj „LS”Polecenie, aby sprawdzić, czy plik kopii zapasowej jest tworzony, czy nie:

Plik kopii zapasowej jest pomyślnie tworzony za pomocą skryptu Bash. Teraz, aby zautomatyzować proces tworzenia kopii zapasowych za pomocą „Cron”Narzędzie do planowania pracy. Aby przesłać nową pracę CRON, użyj „-mi„Opcja z crontab:

crontab -e

Ustaw czas automatycznego uruchamiania skryptu Bash. W tym poście „2 rano”Wybrano do automatycznego uruchamiania skryptu:

0 2 * * */ścieżka/do/backup_mysql.cii

Zapisz i wyjdź z pliku:

Zobaczmy kolejne polecenie, jeśli chcesz wykonać kopię zapasową swojej bazy danych po każdym „5 minut”Wpisz to i zapisz plik:

*/5 * * * */ścieżka/to/backup_mysql.cii

Crontab zajmie trochę czasu na skuteczne stworzenie pracy:

Sprawdź katalog plików kopii zapasowych, które są automatycznie tworzone po „2 rano", używając "LS" Komenda:

Pliki kopii zapasowych bazy danych MySQL są tworzone automatycznie za pomocą skryptu Bash i narzędzia CRON.

Wniosek

Utwórz skrypt bash, dostarczając poświadczenia MySQL i nazwę bazy danych, którą chcesz utworzyć kopię zapasową i format nazwy pliku. Użyj polecenia MySQLDUMP do tworzenia kopii zapasowej pliku SQL, GZIP, aby go skompresować i uruchom skrypt. Użyj crontab, aby automatyczny proces tworzenia kopii zapasowych. W tym poście omówiono, jak zapasowy bazę danych MySQL za pomocą skryptu Bash automatycznie.