Dažniausiai pateikiami klausimai: Bendri Linux Cloud klausimai
Kaip VDS serveryje periodiškai kopijuoti duomenų bazes?
Įrašė: Kristina Vyšniauskaitė - 2016 05 16 11:50

!!! ĮSPĖJIMAS !!! Žemiau pateikta informacija yra tik informacinio pobūdžio. Jūs prisiimate visą riziką dėl galimų pasekmių.

Skriptas yra skirtas kiekvieno domeno mysql duomenų bazių kopijavimui, jį reikia vykdyti per cron užduotis.

 

/opt/mysql_local_backup/backup.sh

#!/bin/bash
# TIK PLESK VALDYMO ĮRANKIO SERVERIAMS
# === SETTINGS ===
DB_BACKUP="/opt/mysql_local_backup/dumps/"     # Galima keisti į sau patogų katalogą
DB_USER="admin"                                # PLESKO DB pagrindinis vartotojas
DB_PASSWD=password (arba DB_PASSWD="password") # Slaptažodis
SYS_USER="root"                                # Jeigu nurodomas docrootas ir norima, per FTP pasiekti failus
GROUP="root"                                   # Grupė, taip pat nurodoma. Pleske dažniausiai psacln
# ================
# Kuriama direktorija
/bin/mkdir -p $DB_BACKUP
# BACKUP DARBAS
while read DOMAIN DB
        do
               /usr/bin/mysqldump --user=$DB_USER --password=$DB_PASSWD $DB | /usr/bin/gzip > "$DB_BACKUP/$DOMAIN-$DB-$(date +%Y-%m-%d_%H%M).sql.gz";
        done < <(/usr/bin/mysql --user=$DB_USER --password=$DB_PASSWD -NBe "use psa; select domains.name, data_bases.name from domains, data_bases where data_bases.dom_id=domains.id;")
# Keičiamas failų owneris:
/bin/chown -R $SYS_USER:$GROUP $DB_BACKUP
# Valomi seni backupai:
/usr/bin/find $DB_BACKUP -type f -mtime +3 -name "*.sql.gz" -exec /bin/rm -rf {} \;

 

Cron paleidimas kas naktį (galima ir dažniau, priklausomai nuo duomenų bazių dydžio ir duomenų svarbumo):

/etc/cron.d/mysql_local_backup.cron

50     4      *       *       *       root /opt/mysql_local_backup/backup.sh 1>/dev/null 2>&1

(1 balsai)
Straipsnis yra naudingas
Straipsnis nėra naudingas

Komentarai (0)
Help Desk Software by Kayako fusion