Prosty skrypt bash dla kopii zapasowej bazy danych mysql
- 1752
- 228
- Maria Piwowarczyk
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ć.