În articolul trecut povesteam despre cum putem reseta parola de la MySQL. Am zis la final că voi căuta o variantă de a face backup. Mă interesează să fac backup doar la SQL, nu și la fișiere.
Pe acelea le descarc eu manual, o dată la câteva săptămâni. Pozele oricum le am ca backup în calculator așa că n-ar fi pierdere mare dacă s-ar întâmpla ceva. În plus, mi-ar trebui ceva spațiu pentru a face mereu backup.
Știam că există soluție pentru a șterge fișierele mai vechi de X zile și am zis că trebuie să automatizez și eu procesul. Vreau să trec pe VPS-uri cu tot ce înseamnă hosting. Până acum am 3 bucăți, când expiră shared-urile pe care le am acum… voi migra pe alte VPS-uri și vom automatiza cât pot.
Mă gândesc, pe viitor, să urc și DB-ul pe cloud, dar momentan nu am vrut să mă încurc cu scripturi. Mi s-a părut comod să mă folosesc de cronjob+mysqldump. Nu sunt mulți pași de făcut, doar că trebuie să fiți atenți.
Înainte de toate, eu zic să instalați nano ca editor text ca să vă descurcați mai ușor. Eu mă înțeleg mai bine cu el față de vim.
Navigăm în home
facem un folder numit db_backup
facem un fișier nou
în fișierul de mai sus trebuie să adăugăm baza de date căreia dorim să îi facem backup. Avem nevoie de utilizator, de parolă și de numele bazei de date.
Salvăm și apoi facem fișierul anterior executabil. Comanda este următoarea:
Ca să verificăm dacă se realizează corect backup-ul putem să executăm comanda următoare:
sh ./backtup.sh
Pentru a face backup pentru mai multe site-uri puteți să adăugați câte o linie în plus pentru fiecare site în parte.
Am terminat cu realizarea backup-ului, mai jos ne vom ocupa de automatizare și ștergerea acestora după o perioadă prestabilită.
Vom deschide crontab prin comanda:
Va trebui să introducem o linie de comandă prin care executăm comanda prin care am verificat dacă funcționează scriptul. Singura diferență va fi că vom seta ora la care să se execute fișierul. Eu am setat la 1: 01 noaptea când sunt mai puțini utilizatori pe blog și nu va afecta performanțele acestuia.
Pasul următor va fi pentru cei care nu doresc să șteargă manual vechile backup-uri. Tot de cronjob ne vom ajuta, practic va căuta fișiere mai vechi de 10 zile
Ar fi interesant să povestiți pe unde faceți voi backup. Eu mă chinuiesc cu amazon să îmi aprobe contul. Mi-au luat 1 leu pentru verificare de pe card de ceva timp, dar nu prea ne înțelegem…
Alex Dumitru a zis
Eu folosesc un script asemanator pentru baza de date si rdiff-backup.
Am un server pe care tin doar backup-uri. In fiecare noapte ruleaza un cron care face backup la fisiere + baza de date prin rdiff-backup.
rdiff-backup iti permite sa stergi foarte usor backup-urile mai vechi de x zile/saptamani/luni.
Marius Cucu a zis
Am un server cu centos ce aș putea să îl fac de backup-uri, cu spațiu suficient de mare. O să mă joc și eu cu el… poate, poate.
Bobses a zis
Eu pe Digi Storage: montez directorul din DS unde țin backup-urile; după copierea celor 2 fișiere (arhiva cu bazele de date și arhiva cu fișierele site-urilor), demontez DS. Într-unul din cele 2 scripturi am pus și comanda cre îmi șterge automat fișierele mai vechi de 4 zile.
Am automatizat totul. 🙂
Marius Cucu a zis
Știu, am citit la tine. Totuși, la mine nu e vorba doar de un singur VPS și nici nu am de ce să fac backup constant la fișiere.
Bobses a zis
Poţi să faci câte un director pentru fiecare VPS şi-l montezi numai pe ăla. Aşa ai backup-urile grupate.
Dacă nu te interesează zilnic, poţi seta din cron să ruleze scriptul la 2, 3, 7 sau câte zile vrei tu.
Cătălin a zis
De preferat ar fi să le pui automat într-un ftp sau undeva unde să știi că le ai constant. Fiindcă providerii mai dau și chix.. și te trezești că rămâi cu buza umflată. 🙂
Malin a zis
Pai ce sa-ti aprobe Amazon la cont? Daca ti-a luat banii de pe card teoretic ar trebui sa fie deja activ contul.
Marius Cucu a zis
I-au blocat și atât. Nici cu el activ, nici nimic.