Realizarea unei copii de rezervă 1

Astfel, fiecare administrator conștiincios trebuie să facă date de rezervă, în cazul serverului meu, pe sistemele meringue * nix. După ce am folosit câteva luni de bacule, mi-am dat seama că nu există nimic mai bun decât scripturile scrise de sine. Descrieți pe scurt algoritmul pentru crearea copiilor de rezervă pe care le folosesc. Sunt foarte bucuros să primesc recomandări sau corectări la scripturi. deoarece scripturile funcționează, dar văd că în timp ce ele sunt departe de a fi perfecte.







Ce au 5 server de 2 cu care găzduiesc, vps de odihnă sub, și, desigur, magazia, sau ca eu numesc un server intern (este foarte departe de locul în care serverele sunt).

Pentru o mai mare siguranță, am decis că găzduirea ar trebui făcută în fiecare zi și stocată timp de o săptămână. Cu VPS sa decis sa se faca backup de 3 ori pe saptamana. Și o dată la 2 luni, ultima copie de rezervă este scrisă pe spații libere (bine, totul poate fi: furtuni solare și furtuni magnetice etc.);). Inițial, am dorit ca toate setările și altele asemănătoare să o facă la nivel central. dar, după cum sa dovedit, de fapt, că nu este configurările convenabil devenit greoi și confuz (probabil mai târziu a schimbat opinia sa, după reconsidere locația fișierelor de configurare și conținutul acestora) .Resheno ar rupe sarcina în script-uri de backup mai mici, fiecare dintre care efectuează sale rolul și este situat pe serverul de la care ați făcut de rezervă, care, la rândul său, a făcut posibil să se conecteze la server pentru a avea un anumit dosar numit script de backup, care este responsabil pentru copierea de rezervă a unui anumit server. De fapt, primul script pe care il dau aici este cel care este responsabil pentru formare si upload. precum și un raport privind corespondența.







# postat pe Khizhny Vladislav [email protected]

# puneți acest script pe serverul pe care sa realizat copia de rezervă

# Dacă utilizați un script, utilizați autorizarea pentru tasta ssh pe serverul de la distanță

DAY = $ (data + ".-% m-% y") #receive date

REMOTESERVER = "[email protected]" #address pentru a conecta serverul de la distanță

DIRTOBACKUP = "/ home / blabla / backupus1" #directory din copia de rezervă se face

DIRFROMBACKUP = "/ var / www /" #directory unde se face copierea de rezervă

EMAILD = "[email protected]" #email pentru a trimite e-mail

# Obțineți toate numele bazelor de date

DBS = "$ ($ MYSQL -u $ MUSER -h $ MHOST -p $ MPASS -Bse" arată baze de date ")"

$ MYSQLDUMP -u $ MUSER -h $ MHOST -p $ MPASS $ db | $ GZIP -9> $ FILE

#### încărcarea fișierelor pe server ####

rsync -azo $ DIRFROMBACKUP $ REMOTESERVER: $ DIRTOBACKUP / $ HOSTNAME- $ DAY

dacă ["$?" == "0"]; atunci
T = / tmp / backup.good
echo "Data: $ (date)"> $ T
ecou "Numele gazdei: $ (hostname)" >> $ T
echo "Backup ready" >> $ T
mail-uri "BACKUP READY" "$ EMAILD" <$T
rm -f $ T
rm -r $ BACKUP
altfel
T = / tmp / backup.fail
echo "Data: $ (date)"> $ T
ecou "Numele gazdei: $ (hostname)" >> $ T
echo "$?" >> $ T
echo "Backup fails" >> $ T
mail-uri "BACKUP FAILD" "$ EMAILD" <$T
rm -f $ T
rm -r $ BACKUP
Fi

În general, scriptul primește date pe care trebuie să le introduceți inițial. Și apoi face MySQL de backup toate bazele, apoi rsync toate pompele (acces parolat este) un cod care returnează rsync verificate și trimise prin poștă o scrisoare cu rezultatele, sau cu succes de toate, sau pentru a obține mail că totul este rău, precum și un cod de eroare care este returnat rsync astfel încât să puteți găsi răspunsul în Google pentru această eroare. Scrisoarea include, de asemenea, de la care server raspunsul, data, astept recomandarile, dorintele)

În a doua parte, va fi descris un script care este deja implicat direct în arhivare prin căutarea fișierelor vechi și ștergerea acestora.







Articole similare

Trimiteți-le prietenilor: