N1 Nex1on

Nex1on svetainės atsarginės kopijos ir perkėlimas: kaip neprarasti duomenų ir persikelti be nuostolių

Duomenų bazės atsarginė kopija, atkūrimas, kopija kitoje vietoje, perkėlimas į kitą talpinimą ar kitu adresu ir turinio perkėlimas iš svetainės į svetainę: žingsnis po žingsnio, su variklio apsaugomis.

Svetainė remiasi trimis dalykais: duomenų baze, įkeltais failais ir pačiu varikliu. Variklį visada galima vėl paimti iš archyvo, bet įrašai, naudotojai ir nustatymai gyvena tik duomenų bazėje, o paveikslėliai ir dokumentai – tik įkėlimų aplanke. Toliau – kaip padaryti atsarginę kopiją, kaip grąžinti svetainę, kai kas nors nepavyksta, kaip persikelti į kitą talpinimą ar kitu adresu ir kaip perkelti turinį iš svetainės į svetainę.

Kas kur saugoma #

  • Duomenų bazė: įrašai, puslapiai, prekės, naudotojai, nustatymai. Ją išsaugo „duomenų bazės atsarginė kopija“. Svetainės failų kopijoje nėra.
  • Įkėlimų aplankas: įkelti paveikslėliai, vaizdo įrašai, dokumentai. Jis nėra duomenų bazės kopijos dalis; jis perkeliamas per FTP.
  • Variklis: failai iš archyvo. Svetainės raktas ir prieiga prie duomenų bazės yra aplanke config.
Kopija tame pačiame serveryje, kaip ir svetainė, apsaugo nuo jūsų pačių klaidos, bet ne nuo serverio praradimo: jei dings talpinimas, dings ir kopija. Todėl toliau yra ir kopija kitoje vietoje.

1 žingsnis. Padarykite duomenų bazės atsarginę kopiją #

Atidarykite „Sistema → Kopijos ir perkėlimas → Duomenų bazės atsarginės kopijos“ ir paspauskite „Padaryti atsarginę kopiją“. Failas atsiras sąraše „Esamos atsarginės kopijos“; jį galima atsisiųsti ir ištrinti. Jis laikomas už viešojo aplanko ribų, ir atsisiųsti jį gali tik prie valdymo skydelio prisijungęs žmogus.
Puslapis „Duomenų bazės atsarginės kopijos“: esama kopija, atsisiuntimas ir trynimas
Puslapis „Duomenų bazės atsarginės kopijos“: esama kopija, atsisiuntimas ir trynimas

Nelaukite bėdos, kad padarytumėte kopiją. Atverkite bloką „Kaip dažnai daryti kopijas ir kiek jų laikyti“: ten galima nustatyti, kad kopija būtų daroma savaime kas kelias dienas (nulis reiškia – nedaryti), ir įjungti gzip glaudinimą: failas tampa kelis kartus mažesnis, o atkūrimas jį perskaito kaip įprasta.

2 žingsnis. Atkurkite duomenų bazę iš kopijos #

To paties puslapio apačioje yra blokas „Atkurti duomenų bazę“. Pasirinkite kopiją, patvirtinimui ranka įrašykite jos pavadinimą ir paspauskite „Atkurti duomenų bazę“.
Blokas „Atkurti duomenų bazę“: kopijos pasirinkimas ir patvirtinimas failo pavadinimu
Blokas „Atkurti duomenų bazę“: kopijos pasirinkimas ir patvirtinimas failo pavadinimu

Atkūrimas pakeičia viską, kas yra dabar, tuo, kas buvo kopijoje: po jos atsiradę įrašai, užsakymai ir nustatymai dings. Tačiau neliekate be kelio atgal:

  • prieš atkūrimą variklis pats padaro dabartinės duomenų bazės kopiją ir nurodo jos failą;
  • jei atkūrimas nutrūko, puslapio viršuje rodoma „Bazės atkūrimas pradėtas ir nebaigtas“ ir mygtukas „Grįžti į būseną prieš bandymą“;
  • kopija, kurioje trūksta dalies lentelių, sąraše pažymima raudonai kaip „nepilna“: atkūrimą iš jos reikia patvirtinti atskira varnele, nes jai trūkstamos lentelės lieka tokios, kokios buvo, ir dalis duomenų bus nauji, o dalis – seni.

Kopiją galima įkelti ir iš kompiuterio, bloke „Įkelti kopiją iš kompiuterio“: tai gali padaryti tik savininkas ir tik pakartotinai įvedęs slaptažodį. Priimamas tik šio variklio padarytas .sql arba .sql.gz failas; bet koks kitas SQL atmetamas. Įkelta kopija atsiduria sąraše, o atkūrimas iš jos – atskiras veiksmas su patvirtinimu.

3 žingsnis. Kopija ne serveryje #

Atidarykite „Kopijos ir perkėlimas → Kopijos kitoje vietoje“. Kopija užšifruojama svetainėje ir išsiunčiama už serverio ribų: į su S3 suderinamą saugyklą, per WebDAV arba SFTP. Pagal numatymą tai išjungta.
Puslapis „Kopijos kitoje vietoje“: būsena ir šifravimo raktas
Puslapis „Kopijos kitoje vietoje“: būsena ir šifravimo raktas

Iššifravimo failo kontrolinė suma ekrano nuotraukoje yra pavyzdys versijai, iš kurios ji padaryta: sutikrinkite ją su reikšme savo variklio versijos leidime.

  1. Sukurkite šifravimo raktą. Jis parodomas vieną kartą ir niekur nesaugomas: nei čia, nei serveryje. Be jo niekas negalės atidaryti kopijos, todėl išsaugokite jį slaptažodžių tvarkyklėje arba atsispausdinkite ir laikykite atskirai nuo svetainės.
  2. Vieną kartą atsisiųskite failą nx-decrypt.php, sutikrinkite jo SHA-256 sumą su reikšme variklio leidime nex1on.com svetainėje ir laikykite jį kartu su raktu. Kopijos atidaromos jūsų kompiuteryje, be svetainės, viena komanda.
  3. Užpildykite saugyklos nustatymus. Saugyklos raktui suteikite teisę tik rašyti, be trynimo ir sąrašo peržiūros: raktas laikomas šioje svetainėje, ir jei svetainė būtų įsilaužta, trinti galintis raktas sunaikintų ir kopijas kitoje vietoje. Todėl senų kopijų valymą geriau patikėti ne varikliui (parinkčiai „palikti paskutines“ reikia rakto, galinčio trinti), o nustatyti saugojimo terminą saugyklos pusėje: objektų gyvavimo ciklą.
  4. Paspauskite „Patikrinti ryšį“: įrašomas vienas mažas failas ir bandoma pašalinti tik jį (raktas, galintis tik rašyti, trinti negali, ir tada failas tiesiog lieka – tai ne klaida). SFTP atveju sutikrinkite serverio rakto piršto atspaudą su tuo, ką nurodo jūsų talpinimo paslauga: kopija siunčiama tik į serverį su būtent tokiu raktu.
  5. Kai ateis pirmoji kopija, atidarykite ją savo kompiuteryje ir pažymėkite „Atidariau kopiją savo kompiuteryje, raktas veikia“: taip sužinosite, kad raktas veikia, dar prieš jo prireikiant.

Siuntimą galima įjungti tik patvirtinus, kad raktą išsaugojote; įjungiant ir keičiant saugyklą prašoma slaptažodžio, o visiems savininkams išsiunčiamas laiškas.

Perkėlimas į kitą talpinimą #

Reikia trijų dalykų: šviežios duomenų bazės kopijos, įkėlimų aplanko ir tos pačios versijos kaip kopija (arba naujesnės) variklio archyvo.
  1. Padarykite duomenų bazės kopiją ir ją atsisiųskite. Per FTP atsisiųskite įkėlimų aplanką.
  2. Naujame talpinime sukurkite tuščią duomenų bazę ir išpakuokite variklio archyvą (žr. straipsnį apie diegimą be SSH).
  3. Įdėkite kopijos failą (.sql, .sql.gz arba šifruotą .sql.gz.enc) į aplanką storage/import.
  4. Atidarykite svetainę ir pirmame ekrane paspauskite „Jau turiu „Nex1on“ svetainę — atkurti iš kopijos“. Pereikite kalbos, šalies ir duomenų bazės žingsnius: vietoj kito žingsnio vedlys pasiūlys „Atkurti iš kopijos“.
Diegimo vedlys: „Atkurti iš kopijos“
Diegimo vedlys: „Atkurti iš kopijos“

Vedlys patikrina kopiją ir nieko neįrašo, kol neįsitikina, kad ji vientisa. Lentelių prefiksas duomenų bazėje turi sutapti su prefiksu kopijoje, o jei kopiją padarė naujesnis variklis, pirmiausia įdiekite tokį patį.

Sąmoningai neperkeliama tai, kas naujoje svetainėje neturi atsirasti be jūsų žinios: sesijos ir „prisiminti mane“, slaptažodžio atkūrimo ir pakvietimų nuorodos, API raktai ir programėlių prisijungimai, laiškų eilės ir prie senos vietos pririšti nustatymai: atnaujinimų šaltinis, kopijos kitoje vietoje, patikimi tarpiniai serveriai, DI ir socialinių tinklų raktai. Laiškų siuntimas perjungiamas į „į failą“, o prisijungimas dviem žingsniais visiems išjungiamas.

Pabaigoje vedlys paprašo savininko nurodyti savo paskyrą ir patvirtinti ją senu slaptažodžiu arba nustatyti naują: kol tai nepadaryta, niekas negali prisijungti kaip administratorius, o kiti administratoriai ir moderatoriai lieka užrakinti, kol jų neatrakinsite skiltyje „Naudotojai“.

Perkėlimas kitu adresu #

Kai svetainė jau veikia naujame domene, bet įrašuose ir meniu vis dar yra senasis, atidarykite „Sistema → Diagnostika → Perkėlimas kitu adresu“. Tai gali padaryti tik savininkas.
„Svetainės perkėlimas kitu adresu“: 1 žingsnis, adresai
„Svetainės perkėlimas kitu adresu“: 1 žingsnis, adresai

Vedlys eina žingsnis po žingsnio, ir niekas neįrašoma, kol nepaspausite „Taikyti“:

  1. Įveskite senąjį ir naująjį adresą ir paspauskite „Bandomasis paleidimas“: pamatysite, kiek įrašų ir nuorodų pasikeis, pagal skyrius.
  2. Variklis patikrina, ar naujuoju adresu atsako būtent ši svetainė, kad slaptažodžio atkūrimo nuorodos nenukeliautų svetimam. Jei naujasis adresas dar neparuoštas (DNS keičiasi), mygtukas neaktyvus: sutvarkykite DNS ir pakartokite bandomąjį paleidimą.
  3. Jei turite licencijos raktą, jis pririštas prie domeno: variklis pasakys, ar naujasis adresas į jį įeina. Kitaip svetainė, kol raktas nebus perkeltas, grįžta į nemokamą režimą.
  4. Patvirtinimui įrašykite naujojo domeno pavadinimą. Tada variklis paprašo slaptažodžio, pats padaro duomenų bazės kopiją, įrašo tai į žurnalą, išsiunčia laišką savininkams ir pakeičia adresą.

Paskyros, žetonai ir prisijungimo raktai, žurnalai, eilė, statistika, užsakymai ir mokėjimai bei šifruotos reikšmės nekeičiami. Po pakeitimo vedlys parodo kontrolinį sąrašą to, ko variklis negali padaryti už jus: prisijungimas per socialinius tinklus (grįžimo adresas pas paslaugos teikėją), sesijos slapuko domenas, adresas „Nuo“ ir pašto SPF, DKIM bei DMARC, paieškos sistemų konsolės, mokėjimų sistemos ir webhook'ai, sertifikatas ir CDN naujam pavadinimui. Kol senasis pavadinimas nukreiptas į šią svetainę, variklis pats į jį atsako 301 peradresavimu į tą patį kelią naujuoju adresu.

Turinio perkėlimas iš svetainės į svetainę #

Jei reikia ne visos duomenų bazės, o puslapių, naujienų, žymų ir failų, atidarykite „Kopijos ir perkėlimas → Eksportas ir importas“. Pažymėkite, ką įdėti į archyvą, ir atsisiųskite jį. Asmeniniai ir slapti dalykai nekeliauja: jokių paskyrų, užsakymų, el. pašto adresų, raktų ar slaptažodžių. Importas pirmiausia tik patikrina archyvą: pamatysite, kas bus sukurta, atnaujinta ir praleista, ir niekas neįrašoma, kol nepatvirtinsite. Tas pats ekranas priima ir WordPress eksportą (.xml) bei lentelę (.csv).

Ką patikrinti #

  • Yra šviežia duomenų bazės kopija, ir žinote, kur ji laikoma.
  • Kopija kitoje vietoje įjungta, šifravimo raktas išsaugotas atskirai nuo svetainės, o pirmoji kopija atidaryta jūsų kompiuteryje.
  • Įkėlimų aplankas nukopijuotas atskirai, kartu su duomenų bazės kopija.
  • Bent kartą patikrinote atkūrimą tuščioje duomenų bazėje arba svetainės kopijoje, o ne avarijos dieną.
  • Po perkėlimo: paštas nustatytas, prisijungimas dviem žingsniais įjungtas, slaptažodžiai ir raktai įvesti iš naujo, senas kopijos failas ištrintas.

Jei kas nors nepavyksta #

  • „Atsarginės kopijos padaryti nepavyko“. Dažniausiai svetainė neturi teisės rašyti į aplanką storage/backups: patikrinkite teises.
  • Atkūrimas nutrūko. Nepradėkite kitų pakeitimų, kol nepaspausite „Grįžti į būseną prieš bandymą“: tai grąžina duomenų bazę į būseną, kokia buvo prieš atkūrimą.
  • Vedlys sako, kad kopijai reikia atnaujinimų, kurių šis variklis neturi. Kopiją padarė naujesnis variklis arba leidimas su kitais moduliais: įdiekite tą patį leidimą ir pakartokite.
  • Vedlys kalba apie kitą lentelių prefiksą. Grįžkite į žingsnį „Duomenų bazė“ ir įveskite tokį prefiksą, kokį turi kopija.
  • Naujuoju adresu niekas negali išlikti prisijungęs. Pakeitus adresą, visi atjungiami: prisijunkite iš naujo. Jei prisijungimas neišsilaiko, patikrinkite sesijos slapuko domeną nustatymuose.

Kas toliau #

Kopija, kurios niekada neatidarėte, lieka tik prielaida. Pasirinkite dieną ir patikrinkite atkūrimą bandomojoje duomenų bazėje. Tai užtrunka pusvalandį, ir jums nebereikės išgyventi tos dienos dar kartą.
Dalintis: Telegram WhatsApp

Skaitykite taip pat

Diskusija

Komentarai

Diskusija dar neprasidėjo

Dar niekas nepakomentavo. Būkite pirmi.

Pranešti apie šį įrašą