Ghid practic / Copie și recuperare

Backup și restaurare VPS: un exercițiu pentru fișiere statice

Exercițiul de backup și restaurare VPS folosește două fișiere statice: o pagină și o configurație Nginx. Creezi arhiva, o copiezi pe alt calculator și verifici fișierele într-un folder gol. Nu modifici site-ul activ și nu pretinzi că ai salvat întreaga aplicație.

· Actualizat: · Aproximativ 4 min de lectură

Cuprinsul ghidului

Definește un test limitat și un loc independent

Comenzile presupun Bash, GNU tar, sha256sum și OpenSSH, de exemplu în Ubuntu sau WSL. Păstrează un terminal pentru VPS și altul pentru calculator: variabilele din fiecare sunt folosite de pașii următori. Oprește-te dacă un pas eșuează.

O copie pe același disc sau în aceeași VM nu este o copie în afara serverului. Decide ce salvezi, unde păstrezi arhiva, cine o poate citi și cât timp o reții. tar.gz comprimă datele, fără să le cripteze pe disc.

Pregătește două fișiere fără să atingi site-ul

În terminalul VPS creează o zonă privată și fișierele demonstrative. Configurația produsă nu este activată în Nginx:

umask 077
backup_lab=$(mktemp -d "$HOME/ubuntu-vps-backup.XXXXXX")
mkdir -p "$backup_lab/payload/site" "$backup_lab/payload/nginx" "$backup_lab/export"
printf '%s\n' '<!doctype html><html lang="en"><title>Restore drill</title><h1>Recovered static page</h1></html>' > "$backup_lab/payload/site/index.html"
printf '%s\n' 'server {' '    listen 8080;' '    server_name example.test;' '    root /var/www/first-site;' '}' > "$backup_lab/payload/nginx/first-site.conf"
printf 'Practice directory: %s\n' "$backup_lab"

Pentru un test ulterior cu fișiere reale, pregătește o copie stabilă sau o oprire controlată a scrierilor. Nu adăuga automat chei private, certificate ori alte secrete. Acest exercițiu rămâne limitat la cele două fișiere create.

Creează arhiva și două niveluri de verificare

În același terminal al serverului, creează manifestul fișierelor, arhiva și suma arhivei:

(
    cd "$backup_lab/payload" &&
    sha256sum site/index.html nginx/first-site.conf > SHA256SUMS
)
tar -czf "$backup_lab/export/static-site.tar.gz" -C "$backup_lab/payload" site nginx SHA256SUMS
(
    cd "$backup_lab/export" &&
    sha256sum static-site.tar.gz > static-site.tar.gz.sha256
)
tar -tzf "$backup_lab/export/static-site.tar.gz"
printf 'Server export directory: %s\n' "$backup_lab/export"

Manifestul verifică fișierele restaurate; suma arhivei verifică pachetul transferat. Niciuna nu dovedește autenticitatea față de cineva care poate înlocui simultan datele și sumele lor. Protejează accesul la copii.

Transferă pe un calculator separat

În terminalul Bash de pe calculator, înlocuiește utilizatorul, IP-ul, cheia și calea remote_backup cu valorile din testul tău. Folosește calea export afișată de server și verifică identitatea gazdei.

umask 077
recovery_dir=$(mktemp -d "$HOME/ubuntu-vps-restore.XXXXXX")
remote_backup=/home/deploy/ubuntu-vps-backup.REPLACE/export
scp -i ~/.ssh/ubuntu_vps "deploy@203.0.113.10:$remote_backup/static-site.tar.gz" "$recovery_dir/"
scp -i ~/.ssh/ubuntu_vps "deploy@203.0.113.10:$remote_backup/static-site.tar.gz.sha256" "$recovery_dir/"

SCP protejează transportul prin SSH. Arhiva salvată nu devine automat criptată; verifică permisiunile și criptarea mediului de stocare dacă datele o cer.

Verifică și extrage într-un folder nou

Pe calculator, în același terminal, verifică arhiva și lista de conținut:

(
    cd "$recovery_dir" &&
    sha256sum -c static-site.tar.gz.sha256
)
tar -tzf "$recovery_dir/static-site.tar.gz"

Continuă doar cu o arhivă dintr-o sursă de încredere și după o verificare reușită. Inspectează căile. Nu extrage cu root un pachet necunoscut sau peste fișiere existente.

Restaurează separat și compară manifestul:

restore_dir=$(mktemp -d "$recovery_dir/restored.XXXXXX")
tar -xzf "$recovery_dir/static-site.tar.gz" -C "$restore_dir" --keep-old-files --no-same-owner
(
    cd "$restore_dir" &&
    sha256sum -c SHA256SUMS
)
cat "$restore_dir/site/index.html"

--keep-old-files refuză suprascrierea, iar --no-same-owner evită aplicarea proprietarilor din arhivă. Verificarea trebuie să reușească pentru ambele fișiere. Prezența arhivei sau extragerea reușită nu confirmă singură conținutul.

Deosebește restaurarea fișierelor de revenirea serviciului

Configurația Nginx recuperată este doar text, neactivat. Un mediu de înlocuire necesită căi, pachete, permisiuni, domeniu și certificat corecte, apoi nginx -t și o verificare HTTPS externă. Nu activa o configurație veche fără să îi înțelegi destinațiile.

O bază de date activă cere o metodă care produce un punct consecvent de restaurare. Copierea directorului ei în timpul scrierilor nu oferă automat această proprietate. Include separat e-mailul, sarcinile, fișierele încărcate, DNS și secretele necesare serviciului.

Notează ce ai verificat efectiv

Înregistrează data, dimensiunea arhivei, locul copiei, rezultatul verificării arhivei și al fiecărui fișier, plus durata măsurată a restaurării. Testează și o copie mai veche din politica de retenție. Nu declara succes pentru întregul site după verificarea a două fișiere.

Ca obiective ipotetice poți considera pierdere de date de cel mult 24 de ore și revenire în 60 de minute. Acestea sunt ținte de planificare, nu rezultate măsurate aici; stabilește toleranța proiectului și testează procesul complet.

Verifică compatibilitatea mediului de recuperare și site-ul și certificatul. Nu elimina sursa până când copia necesară și recuperarea sunt confirmate.

Exercițiu pentru două fișiere statice, fără activarea configurației recuperate. Transferul la distanță și revenirea întregii aplicații trebuie verificate în mediul tău.

Întrebări frecvente

Trebuie să șterg site-ul original ca să testez copia?

Nu. Restaurarea într-un folder separat și verificarea manifestului testează fișierele fără întreruperea site-ului. Serviciul complet se validează într-un mediu de înlocuire.

Suma SHA-256 corectă dovedește că tot site-ul este salvat?

Confirmă numai conținutul comparat. Nu descoperă fișiere omise, baze de date, secrete sau setări DNS lipsă.

Este suficient un snapshot al VPS-ului?

Verifică retenția, locul și dependența de aceeași infrastructură. Păstrează o copie independentă potrivită datelor și testează recuperarea.

Următorul pas util

Compară resursele și recuperarea împreună.

Folosește cerințele proiectului pentru a verifica oferta și condițiile furnizorului.

Compară serverele

Link de afiliere · Verifică oferta actuală înainte de comandă.