Samodejno varnostno kopirajte več baz podatkov MySQL ali MariaDB

Uvod

V tem zapisu bomo sprehodili skozi, kako varnostno kopirati več baz podatkov MySQL ali MariaDB, ki se nahajajo na istem računalniku, z uporabo skripta bash po meri in nastavitvijo opravila cron.

Varnostna kopija baze podatkov

Predvidevamo, da imamo na našem primerku Vultr tri baze podatkov MySQL z imenom db-vultr-site , db-vultr-blog , db-vultr-app (Ne skrbite za ustvarjanje teh baz podatkov, njihova imena boste lahko zamenjali za vaše, če so uporabljeni v skriptu v 2. koraku spodaj) .

  1. Prijavite se v svojo bazo podatkov MySQL ali MariaDB in zaženite spodnjo poizvedbo, da ustvarite uporabnika baze podatkov db_user_backupsza obdelavo varnostnih kopij

    GRANT LOCK TABLES, SELECT, SHOW VIEW, REPLICATION CLIENT ON *.* TO 'db_user_backups'@'%' IDENTIFIED BY '{COMPLEX-PASSWORD}';
    

    Zaženite tudi spodaj, da se prepričate, da je MySQL konfiguriran za pravilno obnovitev shranjenih postopkov

    SET GLOBAL log_bin_trust_function_creators = 1;
    
  2. Nastavite nujno strukturo imenikov in potrebne datoteke

    # create backup directory with environment and log file
    sudo mkdir /backups && cd /backups
    sudo touch .env db-backup.sh db-backup.log
    sudo chmod -R 775 /backups
    sudo chmod -R g+s /backups
    sudo chmod +x db-backup.sh
    
    # add mysql backup user credentials into environment file
    echo "export MYSQL_USER=db_user_backups" > /backups/.env
    echo "export MYSQL_PASS={COMPLEX-PASSWORD}" >> /backups/.env
    
  3. Odprite db-backup.sh nano /backups/db-backup.shin vanj prilepite spodnjo kodo, nato shranite datoteko (Ctrl+X -> Y -> pritisnite Enter) .

    DB_NAMES=( 'db-vultr-site' 'db-vultr-blog' 'db-vultr-app' ) #replace with your own database name(s)
    BKUP_NAMES=()
    BKUP_DIR="/backups"
    
    # get total number of directories
    total_dbs=${#DB_NAMES[@]}
    
    # create backup file names
    for (( i=0; i<${total_dbs}; i++ )); do
        BKUP_NAMES[$i]="`date +%Y%m%d%H%M`-backup-$${DB_NAMES[$i]}.sql.gz"
    done
    
    # get backup users credentials
    source $BKUP_DIR/.env
    
    # create backups
    for (( i=0; i<${total_dbs}; i++ )); do
        # NOTE: --routines flag makes sure stored procedures are also backed up
        mysqldump --routines -u ${MYSQL_USER} -p${MYSQL_PASS} | gzip > ${BKUP_DIR}/${BKUP_NAMES[$i]}
    done
    

    Zgornja koda se vrti skozi matriko z imenom(-i) baz podatkov, ki jih želite varnostno kopirati, in to stori.

Nastavitev Cronjoba

Nastavite cronjob za zagon vsako polnoč, ki zažene skript za varnostno kopiranje in shrani rezultat/izhod v dnevnik varnostne kopije.

  1. Odprite crontab

    crontab -e
    
  2. Dodajte spodnji vnos v crontab

    0 0 * * * /usr/bin/env bash /backups/db-backup.sh &>> /backups/db-backup.log
    

    Opomba: Med testiranjem lahko cronjob nastavite tako, da se izvaja vsako minuto, kot je spodaj

    * * * * * /usr/bin/env bash /backups/db-backup.sh &>> /backups/db-backup.log
    

    -ALI- vsakih 5 minut (zamenjajte 5 s številom minut, ki jih želite)

    */5 * * * * /usr/bin/env bash /backups/db-backup.sh &>> /backups/db-backup.log
    

Kaj je naslednje

Verjetno ne boste želeli, da bi vaše varnostne kopije(-e) na istem(-ih) strežniku(-ih), kjer se izvaja(-e) vaše baze podatkov(-e), ampak namesto tega na strežniku na drugi geografski lokaciji. To lahko storite na več načinov, od uporabe SFTP do uporabe orodij po meri, ki jih ponuja nešteto ponudnikov shranjevanja v oblaku, ki so na voljo. Ena dobra alternativa je Rsync, kot je razloženo tukaj - vultr.com/docs/setup-file-mirroring-using-rsync-in-debian-ubuntu

Avtor: Lami Adabonyan

CentOS, baze podatkov, Debian, vodniki za Linux, MySQL in MariaDB, sistemski skrbnik, Ubuntu

Pusti komentar

Vzpon strojev: aplikacije AI v resničnem svetu

Vzpon strojev: aplikacije AI v resničnem svetu

Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.

DDOS napadi: kratek pregled

DDOS napadi: kratek pregled

Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.

Razvoj shranjevanja podatkov – Infografika

Razvoj shranjevanja podatkov – Infografika

Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več