Prosty skrypt bash dla kopii zapasowej bazy danych mysql

Prosty skrypt bash dla kopii zapasowej bazy danych mysql

Q. Jak zaplanować kopię zapasową bazy danych mysql? Skrypt bash dla kopii zapasowej bazy danych mysql. W tym samouczku znajdziesz prosty skrypt bash, który przyjmuje kopię zapasową bazy danych MySQL, archiwusz kopię zapasową i przechowywanie w systemie lokalnym. Ten skrypt będzie również usunął starsze kopie zapasowe z dysku na wolne miejsce. Możesz określić liczbę dni, aby utrzymać kopię zapasową na lokalnym dysku. Możesz także użyć tego samouczka do tworzenia kopii zapasowych bazy danych MySQL i przechowywania kopii na zdalnym serwerze FTP.

Utwórz skrypt kopii zapasowej MySQL

Teraz skopiuj następującą zawartość w pliku skryptu (jak: /kopia zapasowa /mysql-backup.SH) i zapisz w systemie Linux. Użyj tego linku, aby pobrać skrypt. Po zmianie niektórych wartości konfiguracji w sekcji „Aktualizacja poniżej wartości” w skrypcie zgodnie z środowiskiem.

#!/bin/bash #########################################################################. ##################### ## ## MySQl Database Backup Skrypt ## Wpisany przez: Rahul Kumar ## URL: https: // tecadmin.net/ bash-script-mysql-database-backup/ ## Ostatnia aktualizacja: 05 stycznia, 2019 ## ##########################################################. ############################################## /local/bin Today = "Date +"%d%b%y "" ###################################################################. ################################### ##########################################. Update below values ​​######################## DB_BACKUP_PATH="/backup/dbbackup" MYSQL_HOST="localhost" MYSQL_PORT="3306" MYSQL_USER="root" MYSQL_PASSWORD="mysecret" DATABASE_NAME="mydb" BACKUP_RETAIN_DAYS=30 ## Number of days to keep local backup copy ########################### ##################################### Mkdir -p $ db_backup_path/$ dziś echo "Kopia zapasowa dla bazy danych -$ nazwa_obrazy bazy danych" mysqldump -h $ mysql_host \ -p $ mysql_port \ -u $ mysql_user \ -p $ mysql_password \ batabase_name | gzip> $ db_backup_path/$ dziś/$ nazwa danych bazy danych-$ dziś.SQL.GZ, jeśli [$? -Eq 0]; Następnie Echo „Batase Backup Fassed Upiksed” Else Echo ”Błąd znaleziony podczas kopii zapasowej„ Wyjdź 1 fi ##### Usuń kopie zapasowe starsze niż backup_retain_days dni ##### dbdeldate = "data +"%d%b%y " --date = "$ backup_retain_days dni temu" "if [ ! -Z $ db_backup_path]; Następnie CD $ db_backup_path jeśli [ ! -Z $ dbdeldate] && [-d $ dbdeldate]; Następnie rm -rf $ dbdeldate fi fi ### End of Script ####
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657#!/bin/bash #########################################################################. ######################### Mysql Database Backup Skrypt ## Wpisany przez: Rahul Kumar ## URL: https: // tecadmin.net/bash-script-mysql-database-backup/## Ostatnia aktualizacja: 05 stycznia, 2019 ################################################################. ############################################## /local/bintoday = 'data +"%d%b%y"' ####################################################################. ################################################# Aktualizacja below values ​​######################## DB_BACKUP_PATH='/backup/dbbackup'MYSQL_HOST='localhost'MYSQL_PORT='3306'MYSQL_USER='root'MYSQL_PASSWORD = 'mysecret'database_name =' mydb'backup_retain_days = 30 ## Liczba dni, aby zachować lokalną kopię kopii kopii zapasowej ###############################################. ##################################### Mkdir -p $ db_backup_path/$ dziś echo „Kopia zapasowa uruchomiona dla bazy danych -$ nazwa_bazowa” mysqldump -h $ mysql_host \ -p $ mysql_port \ -u $ mysql_user \ -p $ mysql_password \ $ batabase_name | gzip> $ db_backup_path/$ dziś/$ nazwa danych bazy danych-$ dziś.SQL.GZ, jeśli [$? -Eq 0]; Następnie Echo „Bazowa kopii zapasowej bazy danych pomyślnie ukończona” Else Echo ”Błąd znaleziony podczas kopii zapasowej„ Exit 1fi ##### Usuń kopie zapasowe starsze niż backup_retain_days dni ##### dbdeldate = 'data +"%d%b%y" - -date = "$ backup_retain_days kilka dni temu" 'jeśli [ ! -Z $ db_backup_path]; Następnie CD $ db_backup_path jeśli [ ! -Z $ dbdeldate] && [-d $ dbdeldate]; Następnie rm -rf $ dbdeldate fifi ### End of Script ####

Po utworzeniu lub pobraniu skryptu Upewnij się, że Ustaw uprawnienie do poprawnego uruchomienia.

CHMOD +X /Backup /MySQL-Backup.cii 

Zaplanuj skrypt w crontab

Teraz zaplanuj skrypt w crontab, aby działał na co dzień i regularnie uzupełniać kopię zapasową. Edytuj crontab w swoim systemie z crontab -e Komenda. Dodaj następujące ustawienia, aby włączyć kopię zapasową o 2 rano.

0 2 * * * Root /Backup /MySQL-Backup.cii 

Zapisz swój plik crontab. Po włączeniu CRON skrypt automatycznie podejmie kopię zapasową, ale sprawdzaj kopie zapasowe co tydzień lub co miesiąc, aby się upewnić.