Am încercat să găsesc în CPanelagava.ru capacitatea de a configura backup automat al site-ului. Am vrut să obțin același lucru pe care îl puteți configura fără probleme pe gazda FastVPS (tariful OVZ-3) chiar prin interfața WEB. Trebuie să creați o bază de date a bazei de date MySQL în fiecare noapte și să creați o arhivă completă a site-ului în fiecare săptămână. Arhivele ar trebui să fie pompate automat la un server de la distanță și apoi eliminate dintr-o găzduire virtuală.
Cu toate acestea, nu sa întâmplat nimic. A trebuit să scriu la suport tehnic.
Bună ziua, dragă Agava.ru. Am fost un utilizator al găzduirii dvs. pentru o lungă perioadă de timp (Virtual Unix Hosting / Tarif Normal). Gazduirea este foarte stabilă când am aplicat ultima oară asistenței tehnice - am uitat deja, pentru care vă mulțumesc. Acum despre caz. Secțiunea de ajutor CPanel menționează posibilitatea creării unui backup automat al directorului de domiciliu / bazei de date prin transferul fișierelor / arhivelor de rezervă prin intermediul protocoalelor SCP și FTP. Cu toate acestea, când am încercat să configurez o astfel de rezervă în panoul meu de control [6] - nu am reușit. Tot ce se poate găsi este doar pornirea manuală a procesului de backup (copierea completă a întregului director de domiciliu sau a bazelor de date separate).
Mi-ar plăcea foarte mult să pot crea cu ușurință o copie de rezervă automată, pentru a nu deranja scripturile de linie de comandă și shell. Aceasta este ceea ce este descris în referința CPanel. Trebuie să creăm în mod automat baze de date de rezervă în fiecare seară noaptea și în fiecare săptămână o copie de rezervă completă a directorului de acasă. Desigur, cu transferul automat al arhivelor către un server de la distanță (prin intermediul SCP sau FTP) - pentru a nu ocupa spațiul limitat al directorului de acasă.
Întrebarea este: este posibil să configurați ceva similar (backup automat) prin CPanel Agava? Dacă este posibil, atunci cum (dați vă rugăm să indicați instrucțiunile) și dacă este imposibil - că veți recomanda o organizare simplă a unei astfel de copii de rezervă?
Răspunsul a venit repede:
Alo Pe gazda noastră nu există nici o modalitate de a crea automat o copie de rezervă și apoi să o încărcați pe un alt server. Puteți crea o copie de rezervă completă a contului adăugând următoarea comandă la planificatorul cron:
Ca rezultat, o arhivă va fi creată în directorul de domiciliu:
Apoi, puteți să descărcați copia de rezervă prin cron pe un alt server (prin ștergerea copiei după o descărcare de succes):
rsync -avH --progress --remove-source-files
Pentru a crea o copie de siguranță a bazei de date, puteți utiliza următoarea comandă:
mysqldump --opt -Q -u USER -pPROL_BASE_NAME_BD> DAM_NAME.sql
[Pasul 1: Creați un script de rezervă]
Creați scripturile agava-backup-daily.sh și agava-backup-weekly.sh și puneți-le în folderul myscrfolder (toate numele fișierelor și al folderelor sunt listate numai pentru exemple). Creați și folderul temporar mybackupdir, unde va fi creată arhiva de memorie MySQL. Fii atent cu numirea drepturilor de acces pentru a crea foldere pentru că a păstrat secretă (parola de acces la serverul FTP și baza de date MySQL) informații, dreptul de a citi, modifica și lansare ar trebui să fie doar proprietarul. Este posibil să fi ghicit că un script pentru a fi folosit pentru backup de zi cu zi (se va arunca de backup de baze de date MySQL), iar celălalt pentru backup saptamanal (va face fișierul o copie completă a directorul home al utilizatorului, care conține toate folderele și fișierele site-ului). Din păcate, magazinul meu de rezervă nu a acceptat ssh. astfel încât rsync a trebuit să fie abandonat, iar fișierele de arhivă au fost transferate prin FTP.
Unele explicații pentru scenariul zilnic. Puteți anula baza de date MySQL cu utilitarul mysqldump. Pentru a vă conecta la MySQL, aveți nevoie de un DBLOGIN special pentru login și parola DBPASSW, acestea nu se potrivesc cu datele de conectare și parola utilizatorului local. Acordați atenție și opțiunii - set de caractere predefinite, specifică codificarea caracterelor în care va fi creată baza de date a bazei de date. Codificarea trebuie utilizată la fel ca cea utilizată pe site-ul dvs. Pentru a numi automat arhivele după dată, utilizați prefixdate variabilei calculate. Calea către directorul / folderul dorit al serverului ftp extern este specificată prin intermediul folderului de la distanță.
Scriptul săptămânal diferă de cel de zi cu zi numai prin lansarea suplimentară a comenzii curl, care rulează scriptul de backup CPanel. Puteți verifica funcționarea scripturilor cu comenzile:
Scriptul săptămânal va rula mult mai mult, deoarece va arhiva întregul director de acasă al site-ului. Timpul de execuție depinde de spațiul de pe disc ocupat de fișierele directorului de domiciliu. Luați în considerare acest lucru atunci când planificați timpul sarcinii (a se vedea Pasul 2).
După ce arhivarea este finalizată, fișierele de arhivă vor fi încărcate pe serverul ftp de la distanță. Iată un exemplu de finalizare a testului săptămânal, când arhivele sunt încărcate pe un server FTP la distanță:
[Pasul 2: adăugarea de locuri de muncă la programatorul cron]
Deschideți browserul, introduceți linkul CPanel, introduceți datele de conectare și parola. Găsiți panoul Avansat -> Programator sarcini.
Accesați planificatorul, faceți clic pe butonul Standard. Configurați cele două sarcini în aproximativ același mod ca cel prezentat în captura de ecran.
$ crontab -l
MAILTO = "[email protected]";
15 0 * * * myscrfolder / agava-backup-daily.sh
30 0 * * 6 myscrfolder / agava-backup-weekly.sh
În acest exemplu, am atribuit două sarcini, o va rula în 00:15 minute în fiecare zi (agava-backup-daily.sh), iar a doua la 00:30 în fiecare zi a 6-a săptămânii (sâmbătă).
După aceea, rămâne doar să monitorizăm spațiul liber de pe serverul FTP (unde sunt stocate copiile de rezervă) și să ștergem periodic arhivele vechi.
[Întrebări frecvente, Întrebări frecvente]