Tartalomjegyzék
Tartsd szűken a helyreállítási próbát
Bash, GNU tar, sha256sum és OpenSSH szükséges Ubuntu vagy Linux/WSL környezetben. A szerveres lépések egy szerverterminálban, a helyiek egy másik számítógép termináljában fussanak. Tartsd nyitva mindkettőt a változók miatt, és parancshibánál állj meg.
Két eldobható fájlt használunk a saját könyvtáradban. Nem változtatjuk az élő webhelyet vagy Nginxet, a visszaállítás pedig nem rootként fut. Ez nem teljes gép-, alkalmazás- vagy adatbázismentés.
Hozd létre a két gyakorlófájlt a szerveren
A konfiguráció itt csak archiválandó szöveg, ne aktiváld szolgáltatásként:
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"Éles webhelynél a képek, átirányítások, include-fájlok, DNS és függőségek külön leltárt kívánnak. A tanúsítvány privát kulcsa nincs ebben a gyakorlatban. A fájlgyűjtés legyen következetes egy kiadáson belül, titkokat ne adj hozzá ellenőrizetlenül.
Készíts archívumot és kétféle ellenőrzőösszeget
A szerver ugyanabban a termináljában számold a kiválasztott fájlok SHA-256 értékeit, készíts relatív útvonalú archívumot, majd annak is számolj ellenőrzőösszeget. Közben ne változtasd a tartalmat.
(
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"A listában site/, nginx/, a két fájl és SHA256SUMS várható. Az archívum ellenőrzése az átvitt csomag változását mutatja; a belső lista a kibontott fájlokét. Egyik sem igazolja a forrást, ha valaki a fájlt és az elvárt összeget is lecserélheti.
Másold külön számítógépre
A kliensen a remote_backup értéke a szerver által kiírt pontos exportkönyvtár legyen. A REPLACE nem a mktemp által generált utótag; helyettesítsd a címet, fiókot és kulcsot is.
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/"Új SSH-gazda kulcsát megbízható csatornán ellenőrizd. Sikertelen kapcsolatnál használd az SSH-hibakeresést, ne kapcsold ki a kulcsellenőrzést.
Az SCP titkosítja az átvitelt, de a tar.gz önmagában tömörített, nem titkosított fájl. Védd a célfiókot és tárolót; szükség esetén nyugalmi titkosítást is használj. Másik könyvtár ugyanazon a VPS-en nem szerveren kívüli másolat.
Üres könyvtárba állítsd vissza a megbízható archívumot
A kliensen előbb ellenőrizd az archívumot. Csak OK eredménnyel folytasd; hibánál vizsgáld az okot vagy másold újra, ne írd át az elvárt összeget.
(
cd "$recovery_dir" &&
sha256sum -c static-site.tar.gz.sha256
)
tar -tzf "$recovery_dir/static-site.tar.gz"Új, üres célkönyvtárba bonts ki. A keep-old-files megtagadja a meglévő fájlok cseréjét, a no-same-owner nem veszi át az archivált tulajdonost. Ne változtasd a célt / könyvtárra, és ne használd a sudo-t.
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"Mind a site/index.html, mind az nginx/first-site.conf OK eredménye és a visszakapott oldal címsora várható. Ez a fájltartalmat igazolja, nem a teljes webhely jogosultságait, ACL-jeit és rendelkezésre állását.
Válaszd szét a fájl- és szolgáltatás-helyreállítást
A konfiguráció még mindig inaktív fájl. Külön cseregépen vizsgáld az útvonalakat, modulokat, include-okat, jogosultságokat és tanúsítványokat; ott teszteld az összeállított Nginx-konfigurációt és a külső HTTP/HTTPS-kérést. Az érintetlen élő szerver szintaktikai ellenőrzése nem teszteli ezt a másolatot.
A TLS-kulcsokhoz külön védett mentést vagy tanúsítvány-újrakibocsátást tervezz. Aktív adatbázis fájljait ne ezzel a tar-recepttel mentsd; annak saját következetes mentési és visszaállítási eljárása szükséges.
A snapshot segíthet, de ellenőrizd megőrzését, helyét és visszaállítását. A létezése nem bizonyítja, hogy másik környezetben is használható webhelyet kapsz.
Jegyezd fel, mit állítottál helyre
Az RPO az időben mért elfogadható adatvesztés, az RTO a szolgáltatás visszaállításának célideje. Egy kis statikus oldalnál például 24 órás RPO és 60 perces RTO lehet üzleti cél, de ez nem ennek a gyakorlatnak a mért eredménye.
Kis képernyőn görgesd oldalra a táblázatot a többi oszlophoz.
| Feljegyzés | Mit tesz ellenőrizhetővé |
|---|---|
| Mentés ideje és kiadás | Mely állapotot kapod vissza |
| Független tároló és megőrzés | Hol és meddig marad meg |
| Archívum és fájlok ellenőrzése | Visszakaptad-e a kiválasztott bájtokat |
| Kezdés és befejezés | A meghatározott lépések ideje |
| Hiányzó függőségek | Mi kell még a szolgáltatáshoz |
| Külső HTTPS-próba | Valóban visszatért-e a webhely |
Az egész folyamatot mérd a hozzáféréssel, géplétrehozással, konfigurációval, tanúsítvánnyal és szükség esetén DNS-sel együtt. A gyors helyi kibontás nem kiesés-helyreállítási benchmark. A mentési hibákhoz legyen riasztás és felelős.
A telepítési útmutató az első webhelyet készíti el; az üzemeltetési összehasonlítás a megőrzést és helyreállítási segítséget is figyelembe veszi.
Két statikus fájlra korlátozott gyakorlat, a visszaállított konfiguráció aktiválása nélkül. A távoli átvitelt és a teljes alkalmazás helyreállítását a saját környezetedben külön kell ellenőrizni.
Gyakori kérdések
Töröljem az eredeti oldalt a mentés bizonyításához?
Nem szükséges. Külön könyvtárba állítsd vissza és ellenőrizd a fájlokat; a teljes szolgáltatást külön cserekörnyezetben teszteld.
A helyes SHA-256 teljes mentést jelent?
Csak a listában szereplő tartalom egyezését igazolja. Hiányzó adatbázist, titkot vagy DNS-beállítást nem fedez fel.
Elég egy snapshot?
A megőrzést, infrastruktúra-függőséget és visszaállítási módot ellenőrizni kell. Fontos adathoz tarts megfelelő független másolatot is.