Ten przewodnik pokaże krok po kroku, jak automatycznie tworzyć kopie zapasowe baz danych MySQL przy użyciu skryptu Bash.
Jak automatycznie wykonać 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 następujące polecenia:
mkdir mysqlbackup
cd mysqlbackup/
Dane wyjściowe pokazują, że pomyślnie przeszedłeś do katalogu:
Utwórz skrypt bash o nazwie „ kopia zapasowa.sh ” za pomocą dowolnego edytora, do tego postu używany jest edytor nano:
nano backup.sh
Skrypt bash utworzy:
Podaj poświadczenia MySQL i nazwę bazy danych, której kopię zapasową chcesz utworzyć:
DB_USER='nazwa użytkownika'DB_PASS='hasło'
DB_
Ustaw katalog kopii zapasowych „ BACKUP_DIR ” podając lokalizację, w której ma zostać zapisany plik kopii zapasowej:
BACKUP_DIR='/ścieżka/do/twojej/kopii zapasowej/katalogu'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-$DATE.sqlAby skompresować plik kopii zapasowej SQL za pomocą narzędzia gzip, użyj tego polecenia:
gzip $BACKUP_DIR/$DB_NAME-$DATE.sqlAby zaoszczędzić miejsce na dysku, usuń stare pliki kopii zapasowej po pewnym czasie, na ten okres „ 7 ” dni plik kopii zapasowej zostanie usunięty za pomocą tego polecenia:
znajdź $BACKUP_DIR -wpisz f -nazwa '*.gz' -mtime +7 -deleteZapisz plik i wyjdź z edytora nano, naciskając „ CTRL + X ' Klucze:
Zmień uprawnienia skryptu bash na wykonywalny, uruchamiając to polecenie:
chmod +x kopia zapasowa.shBezbłędne wyjście oznacza, że wykonanie polecenia powiodło się:
Uruchom skrypt za pomocą tego polecenia bash:
sudo bash backup.shWpisz hasło Ubuntu i użyj „ ls ”, aby sprawdzić, czy plik kopii zapasowej został utworzony, czy nie:
Plik kopii zapasowej został pomyślnie utworzony przy użyciu skryptu bash. Teraz, aby zautomatyzować proces tworzenia kopii zapasowej za pomocą „ cron Narzędzie do planowania zadań. Aby przesłać nowe zadanie cron, użyj opcji „ -To jest opcja z crontabem:
crontab -eUstaw czas automatycznego uruchamiania skryptu bash. W tym poście „ 2 w nocy ” jest wybrane do automatycznego uruchamiania skryptu:
0 2 * * * /ścieżka/do/backup_mysql.shZapisz i zamknij plik:
Zobaczmy inne polecenie, jeśli chcesz wykonać kopię zapasową bazy danych po każdym „ 5 minut ” wpisz to i zapisz plik:
*/5 * * * * /ścieżka/do/backup_mysql.shPomyślne utworzenie zadania zajmie crontabowi trochę czasu:
Sprawdź katalog pod kątem plików kopii zapasowych, które są tworzone automatycznie po „ 2 w nocy ', używając ' ls ' Komenda:
Pliki kopii zapasowej bazy danych MySQL są tworzone automatycznie przy użyciu skryptu bash i narzędzia cron.
Wniosek
Utwórz skrypt bash, podając poświadczenia MySQL i nazwę bazy danych, której kopię zapasową chcesz utworzyć, oraz format nazwy pliku. Użyj polecenia mysqldump, aby utworzyć kopię zapasową pliku SQL, gzip, aby go skompresować, i uruchom skrypt. Użyj crontab, aby zautomatyzować proces tworzenia kopii zapasowej. W tym poście omówiono sposób automatycznego tworzenia kopii zapasowej bazy danych MySQL przy użyciu skryptu Bash.