Automatycznie twórz kopie zapasowe wielu baz danych MySQL lub MariaDB

Wprowadzenie

W tym piśmie omówimy tworzenie kopii zapasowych wielu baz danych MySQL lub MariaDB, które znajdują się na tym samym komputerze, przy użyciu niestandardowego skryptu bash i konfigurowania zadania cron.

Kopie zapasowe bazy danych

Zakładamy, że mamy trzy bazy danych MySQL w naszej instancji Vultr o nazwie db-vultr-site , db-vultr-blog , db-vultr-app (Nie martw się o tworzenie tych baz danych, będziesz mógł zastąpić ich nazwy dla ciebie, jeśli są one używane w skrypcie w kroku 2 poniżej) .

  1. Zaloguj się do bazy danych MySQL lub MariaDB i uruchom poniżej zapytania, aby utworzyć użytkownika bazy danych db_user_backupsdo obsługi kopii zapasowych

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

    Uruchom także poniżej, aby upewnić się, że MySQL jest skonfigurowany do prawidłowego przywracania procedur przechowywanych

    SET GLOBAL log_bin_trust_function_creators = 1;
    
  2. Skonfiguruj niezbędną strukturę katalogów i potrzebne pliki

    # 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. Otwórz db-backup.sh nano /backups/db-backup.shi wklej poniższy kod, a następnie zapisz plik (Ctrl + X -> Y -> naciśnij 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
    

    Powyższy kod jest zapętlony przez tablicę z nazwami baz danych, które chcesz wykonać kopię zapasową.

Konfiguracja Cronjob

Skonfiguruj cronjob, aby uruchamiał się o północy, która uruchamia skrypt kopii zapasowej i zapisuje wynik / wynik w dzienniku kopii zapasowej.

  1. Otwórz crontab

    crontab -e
    
  2. Dodaj poniższy wpis do crontab

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

    Uwaga: Podczas testowania możesz ustawić cronjob do uruchamiania co 1 minutę zamiast jak poniżej

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

    -LUB- co 5 minut (zamień 5 na liczbę minut, którą chcesz)

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

Co dalej

Prawdopodobnie nie będziesz potrzebować kopii zapasowych na tym samym serwerze (serwerach), na których działa baza danych, ale zamiast tego na serwerze w innej lokalizacji geograficznej. Można to zrobić na kilka sposobów, od SFTP po niestandardowe narzędzia dostarczane przez niezliczoną liczbę dostawców pamięci masowej w chmurze dostępnych na rynku. Jedną dobrą alternatywą jest Rsync, jak wyjaśniono tutaj - vultr.com/docs/setup-file-mirroring-using-rsync-in-debian-ubuntu

Wpisany przez Lami Adabonyan

Zostaw komentarz

Funkcjonalności warstw architektury referencyjnej Big Data

Funkcjonalności warstw architektury referencyjnej Big Data

Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą

Wgląd w 26 technik analizy Big Data: część 2

Wgląd w 26 technik analizy Big Data: część 2

Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.

Ataki DDOS: krótki przegląd

Ataki DDOS: krótki przegląd

Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.