Kako samodejno varnostno kopirati bazo podatkov MySQL s skriptom Bash

Kako Samodejno Varnostno Kopirati Bazo Podatkov Mysql S Skriptom Bash



MySQL je priljubljen RDBMS, ki pomaga pri shranjevanju in upravljanju relacijskih baz podatkov brez truda. Ponuja tudi odjemalski pripomoček mysqldump za ustvarjanje logične varnostne kopije baz podatkov MySQL. MySQL podpira več jezikov in platform, kar pomeni, da lahko uporabite skripte Bash za uporabo pripomočka mysqldump za varnostne kopije v Linuxu.

Ta priročnik bo korak za korakom prikazal, kako samodejno varnostno kopirati baze podatkov MySQL z uporabo skripta Bash.

Kako samodejno varnostno kopirati bazo podatkov MySQL s skriptom Bash?

Ustvarite skript Bash za varnostno kopijo baze podatkov MySQL. Najprej odprite terminal, ustvarite imenik in se pomaknite do imenika tako, da vnesete te ukaze:







mkdir mysqlbackup

cd mysqlbackup/

Izhod prikaže, da ste se uspešno pomaknili do imenika:





Ustvarite skript bash z imenom ' backup.sh ” z uporabo katerega koli urejevalnika, za to objavo se uporablja nano urejevalnik:





nano backup.sh

Skript bash bo ustvaril:



Vnesite poverilnice MySQL in ime baze podatkov, ki jo želite varnostno kopirati:

DB_USER='uporabniško ime'

DB_PASS='geslo'

DB_

Nastavite varnostni imenik ' BACKUP_DIR ” tako, da navedete mesto, kamor naj se shrani datoteka varnostne kopije:

BACKUP_DIR='/pot/do/vaše/varnostne kopije/imenika'

Nastavite obliko zapisa datuma za ime datoteke varnostne kopije:

DATUM=$(datum +'%Y-%m-%d_%H-%M-%S')

Za ustvarjanje datoteke varnostne kopije SQL uporabite ta ukaz mysqldump s poverilnicami baze podatkov MySQL:

mysqldump --user=$DB_USER --password=$DB_PASS $DB_NAME > $BACKUP_DIR/$DB_NAME-$DATE.sql

Za stiskanje datoteke varnostne kopije SQL z orodjem gzip uporabite ta ukaz:

gzip $BACKUP_DIR/$DB_NAME-$DATE.sql

Če želite prihraniti prostor na disku, odstranite stare varnostne kopije po določenem času, za to obdobje “ 7 ” dni stara varnostna kopija bo odstranjena s tem ukazom:

najdi $BACKUP_DIR -type f -name '*.gz' -mtime +7 -delete

Shranite datoteko in zapustite nano urejevalnik s pritiskom na “ CTRL + X ” tipke:

Spremenite dovoljenja skripta bash v izvršljivo tako, da zaženete ta ukaz:

chmod +x backup.sh

Izhod brez napak pomeni, da je bila izvedba ukaza uspešna:

Zaženite skript s tem ukazom bash:

sudo bash backup.sh

Vnesite geslo za Ubuntu in uporabite » ls ” za preverjanje, ali je datoteka varnostne kopije ustvarjena ali ne:

Datoteka varnostne kopije je uspešno ustvarjena s skriptom bash. Zdaj za avtomatizacijo postopka varnostnega kopiranja z uporabo » kron ” pripomoček za razporejevalnik opravil. Če želite oddati novo opravilo cron, uporabite » -Je ” s crontabom:

crontab -e

Nastavite čas za samodejno izvajanje skripta bash. Za to objavo, ' 2 zjutraj ” je izbrano za samodejno izvajanje skripta:

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

Shranite in zaprite datoteko:

Oglejmo si še en ukaz, če želite varnostno kopirati bazo podatkov po vsakem ' 5 minut ” vnesite to in shranite datoteko:

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

Crontab bo potreboval nekaj časa, da uspešno ustvari opravilo:

Preverite imenik za datoteke varnostne kopije, ki se samodejno ustvarijo po ' 2 zjutraj ', uporabljati ' ls ” ukaz:

Datoteke varnostne kopije baze podatkov MySQL se ustvarijo samodejno s pomočjo skripta bash in pripomočka cron.

Zaključek

Ustvarite skript bash tako, da navedete poverilnice MySQL in ime baze podatkov, ki jo želite varnostno kopirati, ter obliko imena datoteke. Uporabite ukaz mysqldump za ustvarjanje varnostne kopije datoteke SQL, gzip za njeno stiskanje in zaženite skript. Uporabite crontab, da bo postopek varnostnega kopiranja samodejen. Ta objava je razpravljala o tem, kako samodejno varnostno kopirati bazo podatkov MySQL s pomočjo skripta Bash.