MySQL - Daglig database dumper, alle pent sorted.

MySQL -. Daily database dumper, alle pent sortert

En fin shell script som kan kjøres som en cron jobb å produsere fine MySQL dumper for backup.


jeg kjøre flere bokser med MySQL installert. Min backup strategi for MySQL inkluderer følgende:

- Hver database må dumpes nattlig til sin egen fil
- Jeg holder alle diverse filer (f.eks DB dumper) under /backup
. . - Siden jeg beholde filene for 4 eller 5 dager, trenger jeg å tagge filene
med datoen de ble dumpet

Under /etc, opprette en undermappe "db-backup":
mkdir /etc /db-backup

Opprette /redigere filen /etc/db-backup/db-list.txt og sette hver database for å bli dumpet i denne filen, en per linje. Manuset, som beskrevet her, ikke kan forholde seg til blanke linjer.

Et raskt eksempel ville være (uten bindestrek):

-
mysql
pdns
mimerdesk
phpbb
- -

Så her er backup script. Jeg holder det i /etc/db-backup/db-backup.sh

#! /Bin /bash
# Sett en verdi som vi kan bruke for en datostemple
DATE = ` date +% Y-% m-% d`
# Vår Base backup katalog
BASEBACKUP = "/home /backups /mysql"

for DATABASE i `cat /etc /DB backup /db-list.txt`
do
# Det er der vi kaster våre sikkerhetskopier.
FILEDIR = "$ BASEBACKUP /$ DATABASE"

# Test for å se om vår backup katalog eksisterer.
# Hvis ikke, oppretter det.
hvis [! -d $ FILEDIR]
deretter
mkdir -p $ FILEDIR
fi

echo -n "Eksportere database: $ DATABASE"
/usr /local /bin /mysqldump --user = root --opt $ DATABASE | gzip -c -9> $ FILEDIR /$ DATABASE- $ DATE.sql.gz
echo "...... [Done]"
gjort

# AutoPrune våre sikkerhetskopier. Dette vil finne alle filer
# som er "MaxFileAge" dager gammel og slette dem.
MaxFileAge = 4
finne $ BASEBACKUP -name '* .gz "-type f -mtime + $ MaxFileAge exec rm -f {} \\;

Den ovenfor forutsetter at du ikke har et passord satt for root brukeren. Hvis du gjør det, bare legge bryteren -p inn mysqldump. Hvis du leverer passordet etter "-P" vil du ikke bli spurt om det.

Må være sikker på å chmod u + rwx på manuset, og chmod u + rw på db-list.txt. Hvis du er blant root-passordet i filen, chmod oa-rwx både filer (faktisk, gjør det uansett). Anmeldelser