Pe un VPS, nimeni nu se uită la server în locul tău: noi nu intrăm pe el și nu repornim nimic. Ce poți avea de la noi sunt copiile întregului server și o verificare din afară a site-urilor. Restul — copiile bazelor de date, privirea din când în când la disc și memorie — îl faci tu. Ghidul le pune pe toate într-o listă scurtă.
Ce vei reuși
- știi ce copii ale serverului există și cum ceri o refacere;
- îți faci copii proprii ale bazelor de date, care se pot reface separat;
- verifici în două minute dacă serverul e sănătos.
Ce copii poți avea
| Copia | Ce cuprinde | Cine o face | Cum o refaci |
|---|---|---|---|
| Backup automat zilnic (opțiune plătită, după plan) | tot serverul; se păstrează ultimele 10 versiuni | automat, în fiecare zi | ne ceri, pe email sau pe WhatsApp, ziua dorită; o facem în aceeași zi lucrătoare |
| Snapshot (incluse în plan: 1–3, după plan) | tot serverul, la un moment ales | noi, la cererea ta | la fel, ne ceri refacerea |
| Copiile tale | ce alegi tu: baze de date, fișiere | tu, cu o sarcină programată | tu, oricând, pe bucăți |
Backupul și snapshotul refac tot serverul deodată, la ora copiei: tot ce s-a schimbat după se pierde. Copiile tale îți permit să refaci doar o bază de date sau doar un folder.
Backupul automat se alege la comandă; prețul, după plan, e pe pagina Servere VPS. Dacă nu l-ai bifat și îl vrei acum, scrie-ne și îți spunem cum îl adaugi.
Pașii
A. Ceri un snapshot înainte de o schimbare mare
- Înainte de o actualizare mare, o reinstalare de aplicație sau o mutare de date, scrie-ne pe email sau pe WhatsApp: „Snapshot pentru serverul cu IP-ul …, înainte de …”.
- Așteaptă confirmarea noastră înainte să începi schimbarea.
- Câte snapshoturi pot exista deodată depinde de plan: 1 la VPS 1, 2 la VPS 2, 3 de la VPS 3 în sus. Când se umple, unul vechi trebuie șters.
B. Îți faci copii zilnice ale bazelor de date
- Fă un folder pentru copii:
sudo mkdir -p /var/backups/baze && sudo chmod 700 /var/backups/baze Deschide sarcinile programate ale lui root:
sudo crontab -e. Adaugă un rând, după baza de date pe care o folosești:- MySQL sau MariaDB, în fiecare noapte la 03:15, păstrând 14 zile:
15 3 * * * mysqldump --single-transaction --all-databases | gzip > /var/backups/baze/mysql-$(date +\%F).sql.gz && find /var/backups/baze -name 'mysql-*.sql.gz' -mtime +14 -delete - PostgreSQL:
15 3 * * * sudo -u postgres pg_dumpall | gzip > /var/backups/baze/pg-$(date +\%F).sql.gz && find /var/backups/baze -name 'pg-*.sql.gz' -mtime +14 -delete
Ora e ora serverului (
timedatectlți-o arată). Încrontab, semnul%se scrie\%.- MySQL sau MariaDB, în fiecare noapte la 03:15, păstrând 14 zile:
- A doua zi, verifică:
ls -lh /var/backups/baze. Un fișier de câțiva octeți înseamnă că a eșuat. - O copie pe același server nu te apără dacă se strică serverul. Copiază-le din când în când în altă parte: pe calculatorul tău (
scp ana@203.0.113.7:/var/backups/baze/* .) sau în stocarea de obiecte, opțiunea de la comandă, care e separată de server. - Încearcă o refacere o dată la câteva luni, pe o bază de test. O copie care n-a fost încercată niciodată nu e sigur o copie.
Dacă aplicația ta rulează în Docker, bazele de date sunt în containere: comenzile se dau prin docker exec în containerul bazei. Documentația aplicației îți spune de obicei cum se face copia.
C. Verifici sănătatea serverului
- Intră prin SSH și rulează, pe rând:
uptime # de cât timp merge și încărcarea medie df -h # spațiul pe disc, pe partiții free -h # memoria și swap-ul systemctl --failed # serviciile oprite cu eroare sudo journalctl -p err -b # erorile de la ultima pornire - Semnale de alarmă:
- un disc peste 85–90% (
df -h): la 100%, bazele de date și aplicațiile se opresc; - memoria aproape plină și swap folosit mult (
free -h); - servicii în
systemctl --failed.
- un disc peste 85–90% (
- Ca să vezi ce consumă,
top(sauhtop, dupăsudo apt install htop/sudo dnf install htop). Ce ocupă discul:sudo du -xh / --max-depth=2 | sort -h | tail -20.
D. Afli singur când un site cade
- Verificarea uptime (opțiune, după plan) cere fiecare adresă din 5 în 5 minute, de pe serverul nostru, și îți scrie pe email (și pe telefon, dacă pornești alertele) când nu răspunde și când revine. Adresele le treci tu în Contul NBT (vezi Cum adaugi o unealtă sau un add-on). O adresă e primită doar dacă domeniul trimite la IP-ul serverului tău.
- Verificarea uptime vede doar adrese web. Nu vede o bază de date oprită, un disc care se umple sau un serviciu fără adresă web; pentru acelea rămân verificările de la pasul C.
Dacă ceva nu merge
- Ai șters ceva din greșeală. Dacă e o bază de date și ai copiile de la pasul B, o refaci tu, din fișierul zilei dorite. Pentru tot serverul, scrie-ne ziua dorită din backup sau snapshot.
- Discul s-a umplut. Șterge jurnalele vechi (
sudo journalctl --vacuum-time=14d), imaginile Docker nefolosite (docker system prune, după ce verifici ce șterge) și copiile locale vechi. Dacă ai nevoie de mai mult loc, scrie-ne pentru opțiunea „Spațiu dublu pe disc” (+200 GB) sau pentru un plan mai mare. - Copia de noapte lipsește. Verifică jurnalul cron:
sudo journalctl -u cron(Ubuntu, Debian) sausudo journalctl -u crond(AlmaLinux, Rocky). Rulează comanda din crontab de mână și citește eroarea. - Primești alertă de cădere, dar site-ul merge pentru tine. Firewall-ul poate bloca verificările din afară sau domeniul trece printr-un proxy. Vezi Serverul VPS: actualizările și firewall-ul.
