Backup lan mulihake file VPS menyang folder anyar
Backup migunani yen salinane bisa dijupuk ing njaba VPS lan file sing dikarepake bisa dipulihake. Latihan iki ngarsipake kaca statis lan siji konfigurasi Nginx, nyalin menyang komputer kapisah, banjur mriksa bytes asil restore tanpa ngowahi situs sing lagi mlaku.
VPSuntu · Dianyari: · Watara 5 menit kanggo maca
Bagean pandhuan
Tetepake wates latihan recovery
Gunakake Bash, GNU tar, sha256sum, lan OpenSSH ing Ubuntu utawa client Linux/WSL. Prentah server ing siji terminal server; prentah client ing siji terminal komputer kapisah. Aja nutup terminal supaya variabel tetep ana. Mandheg yen ana prentah error.
Latihan nggunakake rong file conto sing bisa dibuwang ing home directory. Ora ngowahi Nginx, firewall, utawa konten live; extraction ora nganggo root. Mulai saka fixtures. Pilihan tambahan mung njupuk rong file saka pandhuan HTTPS statis.
Situs luwih gedhe butuh inventaris aset, redirects, included config, DNS, lan dependencies dhewe. Rong file iki dudu backup kabeh mesin utawa aplikasi.
Siapake rong file tanpa ngowahi situs
Ing server, gawe folder latihan pribadi. Konfigurasi iki mung file kanggo diarsipake, ora kanggo diaktifake ing service.
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"Pilihan tambahan: kanggo nyalin kaca lan server block nyata saka tutorial, ganti mung salinan latihan nganggo blok iki. Akun kudu bisa maca file sumber. Priksa rahasia ing konfigurasi lan mandhegake deployment sedhela nalika nglumpukake supaya loro file saka release sing padha. Yen nganggo fixtures, tinggalake blok iki.
install -m 600 /var/www/first-site/index.html "$backup_lab/payload/site/index.html"
install -m 600 /etc/nginx/sites-available/first-site "$backup_lab/payload/nginx/first-site.conf"Prentah mung maca sumber live. Ora nyalin TLS private key utawa kabeh direktori sistem. File tambahan kudu dipilih kanthi sengaja ing inventaris lan checksum manifest.
Gawe arsip lan rong lapis checksum
Ing server, cathet checksum file, gawe arsip kanthi relative paths, banjur checksum arsip. Aja ngowahi payload nalika langkah iki.
(
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"Listing kudu ngemot site/, nginx/, rong file pilihan, lan SHA256SUMS. Checksum arsip nemokake owah-owahan nalika transfer; manifest njero mriksa file sawise extraction. Loro-lorone ora mbuktekake keaslian yen ana wong bisa ngganti data lan checksum bareng.
Salin menyang komputer kapisah
Ing client, setel remote_backup menyang export directory persis kaya sing dicithak server. Ganti IP, akun, lan filename key nganggo SSH sing bisa digunakake. 203.0.113.10 mung conto; REPLACE kudu diganti, dudu suffix direktori nyata saka mktemp.
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/"Verifikasi host fingerprint liwat jalur dipercaya sadurunge nampa host anyar. Yen SSH gagal, gunakake pandhuan masalah SSH. Aja mateni host-key checking supaya transfer lolos.
SCP nglindhungi transfer nganggo SSH. File tar.gz dhewe dikompres, ora dienkripsi. Lindhungi akun lan storage tujuan, lan gunakake encryption at rest yen data mbutuhake. Folder kapindho ing VPS sing padha durung dadi salinan njaba server.
Priksa arsip lan pulihake ing folder kosong anyar
Ing client, priksa arsip sadurunge extraction. Terusake mung yen sha256sum nulis OK. Yen gagal, tliti utawa transfer maneh; aja ngganti checksum sing diarepake kanggo ndhelikake masalah.
(
cd "$recovery_dir" &&
sha256sum -c static-site.tar.gz.sha256
)
tar -tzf "$recovery_dir/static-site.tar.gz"Ekstrak arsip sing dipercaya menyang folder anyar. Keep-old-files nolak nimpa file lawas; no-same-owner ora mulihake ownership saka arsip. Aja ngganti tujuan dadi / utawa nggunakake sudo.
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"Asile kudu OK kanggo site/index.html lan nginx/first-site.conf, sarta judhul kaca sing dipulihake. Iki mriksa isi file, dudu ownership production, ACL, kasedhiyan service, utawa kabeh dependency situs.
Bedakake mulihake file saka mulihake layanan
Konfigurasi sing dipulihake isih file teks ora aktif. Ing server pengganti kapisah, priksa path, includes, modules, permissions, lan certificates. Validasi konfigurasi Nginx gabungan ing kono sadurunge reload, banjur coba HTTP/HTTPS saka njaba. Tes syntax ing server live sing ora diganti ora mriksa salinan restore iki.
Arsip iki sengaja ora ngemot TLS private keys. Rancang certificate reissuance utawa backup certificate kapisah sing dilindhungi. Aja nyalin file database aktif nganggo resep tar iki; gunakake backup konsisten lan restore sing didhukung database.
Snapshot panyedhiya bisa mbantu recovery mesin, nanging priksa retention, failure domain, lan prosedur restore. Snapshot sing ana durung mbuktekake file ekspor bisa dipulihake ing host pengganti.
Cathet target recovery lan asile
RPO nerangake kelangan data sing bisa ditampa miturut wektu; RTO iku target wektu kanggo mulihake layanan. Situs informasi statis cilik bisa milih RPO 24 jam lan RTO 60 menit. Iki conto target bisnis, dudu asil tes iki. Backup saben dina mung migunani yen salinan kasil lan bisa dipulihake.
Ing layar cilik, geser tabel menyang sisih kanggo ndeleng kabeh kolom.
| Cathetan | Sing dibuktekake |
|---|---|
| Wektu backup lan ID release | Versi sing bisa dipulihake |
| Tujuan mandhiri lan retention | Panggonan lan suwene salinan disimpen |
| Checksum arsip lan file | Apa bytes pilihan kasil dipulihake |
| Wektu wiwitan lan pungkasan restore | Wektu kanggo langkah recovery sing ditetepake |
| File, ijin, utawa dependency sing kurang | Pakaryan sadurunge layanan bisa bali |
| Tes HTTPS njaba ing pengganti | Apa situs bener-bener wis bali |
Ukur kabeh proses pengganti: akses, provisioning, konfigurasi, certificate, lan DNS yen perlu. Extraction lokal sing cepet dudu benchmark recovery nalika outage. Simpen sawetara restore points sing cocog lan priksa backup jobs sing gagal. Bandhingake retention lan support restore ing kriteria hosting.
Pitakon lan wangsulan
Apa situs asli kudu dibusak kanggo mbuktekake backup?
Ora perlu. Restore ing folder kosong kapisah lan manifest check mriksa salinan tanpa nggawe outage. Tes layanan lengkap ing lingkungan pengganti kapisah.
Apa checksum kasil ateges kabeh situs wis dibackup?
Checksum mung ngonfirmasi file sing kadhaptar. Ora bisa nemokake aset, database, rahasia, utawa DNS sing ora dilebokake. Gawe inventaris lan tes fungsi situs sawise layanan dipulihake.