Rezervoni automatikisht bazat e të dhënave të shumta MySQL ose MariaDB

Prezantimi

Në këtë shkrim, ne do të shqyrtojmë se si të kopjoni bazat e të dhënave të shumta MySQL ose MariaDB që qëndrojnë në të njëjtën makinë duke përdorur një skript të personalizuar bash dhe duke vendosur një punë të cron.

Rezervimi i bazës së të dhënave

Ne do të supozojmë se kemi tre baza të dhënash MySQL në shembullin tonë Vultr të quajtura db-vultr-site , db-vultr-blog , db-vultr-app (Mos u shqetësoni për krijimin e këtyre bazave të të dhënave, ju do të jeni në gjendje t'i zëvendësoni emrat e tyre për tuajat ku janë përdorur në skriptin në Hapin 2 më poshtë) .

  1. Hyni në bazën tuaj të të dhënave MySQL ose MariaDB dhe ekzekutoni pyetjen më poshtë për të krijuar një përdorues të bazës së të dhënave db_user_backupspër të trajtuar kopjet rezervë

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

    Drejtoni gjithashtu më poshtë për t'u siguruar që MySQL është konfiguruar për të rivendosur siç duhet procedurat e ruajtura

    SET GLOBAL log_bin_trust_function_creators = 1;
    
  2. Vendosni strukturën domosdoshmërisht të drejtorisë dhe skedarët e nevojshëm

    # 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. Hapni db-backup.sh nano /backups/db-backup.shdhe ngjisni kodin më poshtë brenda tij, më pas ruajeni skedarin (Ctrl+X -> Y -> shtypni 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
    

    Kodi i mësipërm po qarkullon përmes një grupi me emrat e bazës së të dhënave që dëshironi të rezervoni dhe e bëni këtë.

Konfigurimi i Cronjob

Vendosni një cronjob për të ekzekutuar çdo mesnatë që ekzekuton skriptin rezervë dhe ruan rezultatin/daljen në regjistrin rezervë.

  1. Hap krontabin

    crontab -e
    
  2. Shtoni hyrjen më poshtë në crontab

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

    Shënim: Gjatë testimit, mund të vendosni cronjob të funksionojë çdo 1 minutë në vend të kësaj si më poshtë

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

    -OR- çdo 5 minuta (zëvendësoni 5 me numrin e minutave që dëshironi)

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

Ç'pritet më tej

Ju nuk do të dëshironi që rezervat tuaja në të njëjtin server(ët) që ekzekutojnë bazën e të dhënave tuaja, por në vend të kësaj në një server në një vendndodhje të ndryshme gjeografike. Ka disa mënyra për ta bërë këtë, duke filluar nga përdorimi i SFTP, tek përdorimi i mjeteve të personalizuara të ofruara nga një mori ofruesish të ruajtjes së cloud të disponueshëm atje. Një alternativë e mirë është Rsync siç shpjegohet këtu - vultr.com/docs/setup-file-mirroring-using-rsync-in-debian-ubuntu

Shkruar nga Lami Adabonyan

Lëreni një koment

Ngritja e makinave: Aplikimet në botën reale të AI

Ngritja e makinave: Aplikimet në botën reale të AI

Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.

Sulmet DDOS: Një përmbledhje e shkurtër

Sulmet DDOS: Një përmbledhje e shkurtër

A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.

Evolucioni i ruajtjes së të dhënave - Infografik

Evolucioni i ruajtjes së të dhënave - Infografik

Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Së fundmi Apple lëshoi ​​macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë