Hvernig á að taka öryggisafrit af gagnagrunni appsins (og endurheimta það í raun)
Til að taka öryggisafrit af gagnagrunni appsins þarftu að flytja hann út í skrá á reglubundinni áætlun (fyrir Postgres er staðlaða verkfærið pg_dump), geyma afritin annars staðar en á gagnagrunninum sjálfum og endurheimta reglulega eitt afrit í tóman gagnagrunn til að sanna að það virki. Taktu aukaafrit rétt áður en einhver áhættusöm breyting er gerð. Öryggisafrit af kóðanum, hvort sem það er GitHub-geymsla eða útflutningur, inniheldur ekki gögnin þín.
Þessi leiðbeining er fyrir fólk sem rekur lítið app og vill hætta að hafa áhyggjur af því að missa það. Dæmin nota Postgres, því flest öpp sem smíðuð eru með gervigreind nota það, en meginreglurnar eiga við um hvaða gagnagrunn sem er.
Hvað öryggisafrit þarf að ná yfir
App er meira en gagnagrunnurinn. Vitaðu hvaða hluta hvert öryggisafrit verndar.
| Hvað | Hvar það er | Hvernig á að taka öryggisafrit |
|---|---|---|
| Kóði | Verkefnaskrár, Git | GitHub-samstilling eða útflutningur verkefnis |
| Gögn (notendur, færslur) | Gagnagrunnurinn | Gagnagrunnsafrit á áætlun |
| Upphlaðnar skrár | Hlutageymsla | Afrita fötuna, eða geyma upprunalegu skrárnar annars staðar |
| Leyndarmál og stillingar | Stillingar verkefnis, stjórnborð þjónustuveitna | Geyma í lykilorðastjóra og halda honum uppfærðum |
Gögnin eru sá hluti sem ekki er hægt að endurskapa. Kóða má skrifa aftur og stillingum má slá inn aftur, en pantanir viðskiptavina geta ekki verið endurskapaðar.
Skref 1: Ákveddu hversu mikið þú mátt missa
Tvær spurningar móta afritunaráætlunina:
- Hversu mikil nýleg gögn máttu missa? Ef þú tekur afrit einu sinni á dag og gagnagrunnurinn bilar um kvöldið, tapast breytingar dagsins. Fyrir áhugamálsapp er það í lagi. Fyrir app sem tekur við pöntunum gæti það ekki verið ásættanlegt.
- Hversu lengi má appið liggja niðri meðan þú endurheimtir? Lítill gagnagrunnur endurheimtist á nokkrum mínútum. Stór getur tekið mun lengri tíma, og þú vilt vita það áður en þú þarft á honum að halda.
Fyrir flest lítil öpp er sjálfvirkt daglegt öryggisafrit ásamt handvirku afriti fyrir áhættusamar breytingar skynsamleg byrjun. Öpp þar sem peningar eða heilsufarsgögn koma við sögu þurfa tíðari afrit, eða stýrðan gagnagrunn með endurheimt á tilteknum tímapunkti (getuna til að endurheimta á hvaða augnabliki sem er, ekki bara á síðasta afriti).
Skref 2: Athugaðu hvað hýsingaraðilinn þinn gerir nú þegar
Margir stýrðir gagnagrunnsveitendur taka sjálfvirk öryggisafrit. Finndu út:
- Eru afrit virk í áskriftinni þinni, og hversu oft keyra þau?
- Hversu lengi eru þau geymd?
- Er hægt að endurheimta á tilteknum tímapunkti, eða aðeins á daglegri mynd?
- Er hægt að sækja afrit, eða aðeins endurheimta það innan kerfis þeirra?
Afrit frá veitunni eru gagnleg, en þau deila einum veikum punkti með gagnagrunninum þínum: reikningnum. Ef reikningurinn er lokaður, settur í bið eða verkefninu er eytt, geta afritin farið með. Þess vegna þarftu líka þitt eigið eintak.
Skref 3: Taktu afrit með pg_dump
pg_dump flytur Postgres-gagnagrunn út í skrá. Það les samræmda mynd af gögnunum, þannig að appið getur keyrt áfram meðan það vinnur.
Dæmigerð skipun, með tengistrengnum sem appið hefur nú þegar í umhverfisbreytu:
pg_dump "$DATABASE_URL" --format=custom --no-owner --file=backup-2026-09-29.dump
Þetta gera valkostirnir:
--format=customskrifar þjappaða skrá sempg_restoregetur lesið, og leyfir þér að endurheimta einstakar töflur síðar. Notaðu--format=plainef þú vilt læsilega.sql-skrá í staðinn.--no-ownersleppir skipunum um eignarhald, sem gerir endurheimt í annan gagnagrunn einfaldari.- Dagsetningin í skráarnafninu heldur afritunum aðskildum.
Útgáfa pg_dump ætti að vera sú sama og Postgres-útgáfa gagnagrunnsins þíns, eða nýrri. Eldri pg_dump gæti neitað að keyra.
Ef þú smíðar með gervigreind og vilt ekki snerta skipanalínuna, geturðu beðið um:
Búðu til afrit af gagnagrunni appsins með pg_dump á custom-sniði, með dagsetningu dagsins í skráarnafninu. Ekki prenta tengistrenginn eða neitt leyndarmál. Segðu mér skráarnafnið og stærðina þegar það er tilbúið.
Skref 4: Gerðu það sjálfvirkt
Handvirk afrit gleymast. Gerðu þau sjálfvirk með því sem uppsetningin þín styður:
- Áætluð afrit frá gagnagrunnsveitunni þinni, ef hún býður upp á þau.
- Áætlað verk á þjóni eða CI-þjónustu sem keyrir
pg_dumpog hleður skránni upp í geymslu. - Hýst afritunarþjónusta sem tengist gagnagrunninum þínum.
Hvað sem þú velur, láttu það segja þér þegar afrit mistekst. Afritunarverk sem hefur hljóðlega mistekist í þrjá mánuði er klassísk hryllingssaga.
Skref 5: Geymdu afrit annars staðar
Þumalputtareglan er oft kölluð 3-2-1: þrjú eintök af gögnunum, á tveimur ólíkum gerðum geymslu, með einu eintaki utan staðarins. Fyrir lítið app er hagnýt útgáfa:
- Lifandi gagnagrunnurinn
- Sjálfvirk afrit veitunnar
- Þín eigin afrit í sérstakri geymslu, til dæmis hlutageymslufötu í öðrum reikningi
Einnig:
- Takmarkaðu aðgang. Afrit geymir gögn allra notenda. Meðhöndlaðu það eins og lifandi gagnagrunninn.
- Hafðu varðveislureglu. Til dæmis daglegt afrit í tvær vikur og mánaðarlegt í eitt ár. Eyddu gömlum afritum af ásettu ráði, og mundu að persónuverndarlög kunna að krefjast þess að þú eyðir persónuupplýsingum að beiðni.
- Settu aldrei afrit í Git. Afrit í geymslu er gagnaleki sem bíður þess að gerast.
Skref 6: Prófaðu endurheimt
Öryggisafrit er aðeins jafn gott og síðasta vel heppnaða endurheimt. Gerðu það að minnsta kosti á nokkurra mánaða fresti, og eftir hverja breytingu á afritunarferlinu:
- Búðu til nýjan, tóman gagnagrunn. Endurheimtu aldrei yfir þann lifandi til að prófa.
- Endurheimtu nýjasta afritið í hann:
pg_restore --no-owner --dbname="$TEST_DATABASE_URL" backup-2026-09-29.dump
Fyrir venjulega .sql-skrá, notaðu psql "$TEST_DATABASE_URL" -f backup.sql í staðinn.
- Athugaðu að allar töflur séu til, berðu saman fjölda raða við lifandi gagnagrunninn og skoðaðu nokkrar nýlegar færslur.
- Tengdu afrit af appinu við hann og skráðu þig inn, ef þú getur.
- Skrifaðu niður hversu langan tíma endurheimtin tók. Það er raunverulegur endurheimtartími þinn.
Skref 7: Taktu öryggisafrit fyrir áhættusamar breytingar
Taktu nýtt afrit rétt áður en þú:
- Keyrir gagnagrunnsbreytingu sem eyðir eða endurnefnir dálka
- Flytur inn gögn í stórum lotum
- Leyfir gervigreindarfulltrúa að gera stórar breytingar á gagnalíkaninu
- Eyðir gömlum færslum
Í appi sem smíðað er með gervigreind getur fulltrúinn breytt töfluuppbyggingu sem hluta af eiginleika. Gátpunktar og útgáfustýring afturkalla kóðann þinn, en þau afturkalla ekki eyddum röðum. Þrjátíu sekúndna afrit fyrir stóra breytingu er ódýr trygging.
Algeng mistök
- Að halda að Git eða kóðaútflutningur sé öryggisafrit. Það geymir kóðann, ekki gögnin.
- Að prófa aldrei endurheimt. Mörg öryggisafrit reynast tóm, ófullkomin eða ólæsileg einmitt þegar á þeim þarf að halda.
- Að geyma afrit á sama reikningi og gagnagrunninn. Ef einn reikningur er í hættu eða lokaður tapast hvort tveggja.
- Að gleyma upphlaðnum skrám. Gagnagrunnurinn geymir slóð skráarinnar; myndin sjálf er í geymslu.
- Að skilja leyndarmál eftir í afritunarskriftum. Lestu tengistrenginn úr umhverfisbreytu, aldrei úr texta skriftunnar. Sjá hvernig þú heldur API-lyklum öruggum.
Öryggisafrit og Mythex
Mythex-verkefni geta haft sérstakan Postgres-gagnagrunn og tengiupplýsingar hans eru settar inn í vinnusvæðið og birta appið. Mythex-skjölin lýsa ekki eiginleika fyrir öryggisafrit eða endurheimt gagnagrunns, þannig að þú þarft að skipuleggja þitt eigið: biddu fulltrúann um að búa til afrit, sæktu það og geymdu það á öruggum stað, sérstaklega áður en stórar breytingar eru gerðar. Útflutningur verkefnis (Pro) inniheldur kóðann þinn, án leyndarmála og node_modules; hann inniheldur ekki raðir úr gagnagrunninum. Sjá Gagnagrunnur og Eignarhald gagna í skjölunum. Til að lesa meira um gagnagrunninn sjálfan, lestu hvað er Postgres.
Gátlisti fyrir öryggisafrit
- Ákveðið hversu mikil gögn þú mátt missa og hversu lengi þú mátt vera niðri
- Athugað hvaða sjálfvirk afrit gagnagrunnshýsingin þín býður upp á
- Eigið afrit keyrir samkvæmt áætlun og bilanir senda þér viðvörun
- Afrit geymd aðskilin frá gagnagrunninum, með takmörkuðum aðgangi
- Varðveisluregla skrifuð niður
- Upphlaðnar skrár teknar öryggisafrit af líka
- Endurheimt prófuð í tóman gagnagrunn, fjöldi raða athugaður
- Afrit tekið fyrir hverja áhættusama breytingu
Spurningar
Hversu oft ætti ég að taka öryggisafrit af gagnagrunni appsins?
Miðaðu við hversu mikil gögn þú getur leyft þér að missa. Fyrir flest lítil öpp er sjálfvirkt daglegt öryggisafrit lágmark, auk handvirks afrits fyrir áhættusamar breytingar eins og flutning gagna, innflutning eða stóra nýja eiginleika.
Er það sama að flytja út kóðann og að taka öryggisafrit af gögnunum?
Nei. Kóðaútflutningur eða GitHub-geymsla inniheldur skrár appsins, ekki raðirnar í gagnagrunninum. Notendurnir þínir, pantanir og færslur lifa í gagnagrunninum og þurfa sitt eigið öryggisafrit.
Hvað er pg_dump?
pg_dump er staðlað skipanalínuverkfæri sem fylgir Postgres til að flytja gagnagrunn út í skrá. Það getur skrifað venjulegt SQL eða þjappað snið, og samsvarandi endurheimtarverkfæri eru psql fyrir SQL-skrár og pg_restore fyrir þjappaða sniðið.
Hvernig veit ég að öryggisafritið virkar?
Endurheimtu það. Hlaðið afritinu í sérstakan, tómann gagnagrunn og athugaðu síðan að töflurnar séu til og að fjöldi raða og nokkrar nýlegar færslur passi við lifandi gögnin. Öryggisafrit sem þú hefur aldrei endurheimt er ágiskun.
Hvar ætti ég að geyma öryggisafrit af gagnagrunni?
Einhvers staðar aðskilið frá gagnagrunninum sjálfum, helst hjá öðrum veitanda eða reikningi, og með aðgangi takmörkuðum við þig. Öryggisafrit innihalda öll gögn notenda þinna, svo meðhöndlaðu þau af jafn mikilli varúð og lifandi gagnagrunninn.