Backup e 'ngoe - e fetang script, e bonolo ho feta sistimi

Ho na le lits'ebetso tse ngata tsa "backup", empa u lokela ho etsa eng haeba li-server tse sebelelitsoeng li hasane libakeng tse fapaneng le bareki 'me u hloka ho etsa ts'ebetso ka sistimi e sebetsang?

Backup e 'ngoe - e fetang script, e bonolo ho feta sistimi

Lumela, Habr!
Lebitso la ka ke Natalya. Ke moetapele oa sehlopha sa batsamaisi ba likopo ho NPO Krista. Re Ops bakeng sa sehlopha sa merero ea k'hamphani ea rona. Re na le boemo bo ikhethang: re kenya le ho boloka software ea rona ho li-server tsa k'hamphani ea rona le ho li-server tse fumanehang libakeng tsa bareki. Tabeng ena, ha ho hlokahale ho boloka seva kaofela. Ke "data ea bohlokoa" feela e bohlokoa: DBMS le li-directory tsa sistimi ea faele. Ehlile, bareki ba na le (kapa ha ba na) melao ea bona ea ho boloka 'me hangata ba fana ka mofuta o itseng oa polokelo ea kantle bakeng sa ho boloka li-backups moo. Tabeng ena, ka mor'a ho theha bekapo, re etsa bonnete ba ho romela ho polokelo kantle.

Ka nako e itseng, molemong oa ho boloka, re ile ra etsa sengoloa sa bash, empa ha likhetho tsa tlhophiso li ntse li hola, ho rarahana ha mongolo ona ho ile ha hola ka ho lekana, mme ka nako e 'ngoe re ile ra ba le tlhoko ea ho "senya fatše, ebe joale. ...”.

Litharollo tse entsoeng esale pele li ne li sa tšoanelehe ka mabaka a fapaneng: ka lebaka la tlhoko ea ho arola li-backups, tlhokahalo ea ho boloka li-backups sebakeng sa bareki, ho rarahana ha seta, ho kenya sebaka sa kantle ho naha, lithibelo tsa phihlello.

Ho rōna ho ne ho bonahala eka ho bonolo ho ngola ntho eo e leng ea rōna. Ka nako e ts'oanang, ke ne ke batla ho fumana ntho e neng e tla lekana bakeng sa boemo ba rona bakeng sa lilemo tse latelang tsa N, empa ka monyetla oa ho atolosa sebaka.

Maemo a mosebetsi e ne e le a latelang:

  1. mohlala oa mantlha oa bekapo oa ikemela 'me o sebetsa sebakeng sa heno
  2. polokelo ea li-backups le li-logs e lula e le ka har'a marang-rang a moreki
  3. mohlala o na le li-module - mofuta oa "sehahi"
  4. ho tsamaellana le kabo ea hajoale ea Linux ea hlokahala, ho kenyeletsoa le tsa khale, sethala se ka bang teng sea lakatseha
  5. Ho sebetsa le mohlala, ho fihlella ka ssh ho lekane; ho bula likou tse eketsehileng ha ho hlokahale
  6. boholo bo bobebe ba ho seta le ho sebetsa
  7. hoa khoneha (empa ha ho hlokahale) ho ba le mohlala o fapaneng o u lumellang hore u shebe boemo ba li-backups ho tsoa ho li-server tse fapaneng.

U ka bona seo re se entseng mona: github.com/javister/krista-backup
Software e ngotsoe ka python3; e sebetsa ho Debian, Ubuntu, CentOS, AstraLinux 1.6.

Litokomane li kenngoa bukeng ea litokomane tsa polokelo.

Lintlha tsa motheo tse sebetsang tsamaisong:
ketso - ketso e kenyang ts'ebetso e le 'ngoe ea athomo (bekapo ea polokelo ea polokelo ea polokelo ea litaba, bekapo ea li-directory, ho fetisoa ho tloha bukeng A ho ea bukeng ea B, joalo-joalo). Liketso tse teng li fumaneha bukeng ea mantlha/ketso
mosebetsi - mosebetsi, sete sa liketso tse hlalosang "mosebetsi oa bekapo" o le mong.
kemiso - kemiso, sehlopha sa mesebetsi e nang le pontšo ea boikhethelo ea nako ea ho phethahatsa mosebetsi

Tlhophiso ea bekapo e bolokoa faeleng ea yaml; sebopeho sa kakaretso:

  • Litlhophiso tse akaretsang
  • action section: tlhaloso ya diketso tse sebedisoang ho seva sena
  • karolo ea kemiso: tlhaloso ea mesebetsi eohle (lihlopha tsa liketso) le kemiso ea ho qalisoa ha tsona ka cron, haeba tlhahiso e joalo e hlokahala.

Mohlala oa config o ka fumanoa mona

Seo sesebelisoa se ka se etsang hajoale:

  • Ts'ebetso ea mantlha bakeng sa rona e ts'ehelitsoe: Backup ea PostgreSQL ka pg_dump, backup ea directory ea sistimi ka tar; ts'ebetso e nang le polokelo ea kantle; rsync pakeng tsa li-directory; ho potoloha ha backup (ho hlakola likopi tsa khale)
  • ho bitsa mongolo oa kantle
  • phethahatso ka letsoho ya mosebetsi o ka thoko
    /opt/KristaBackup/KristaBackup.py run make_full_dump
  • o ka eketsa (kapa oa tlosa) mosebetsi o le mong kapa kemiso eohle ho crontab
    /opt/KristaBackup/KristaBackup.py enable all
  • ho hlahisa faele ea trigger ho latela liphetho tsa bekapo. Ts'ebetso ena e bohlokoa hammoho le Zabbix bakeng sa ho lekola li-backups
  • e ka sebetsa ka morao ho webapi kapa ho web mode
    /opt/KristaBackup/KristaBackup.py web start [--api]

Phapang lipakeng tsa mekhoa: webapi ha e na sehokelo sa webo ka boeona, empa sesebelisoa se arabela likopo tse tsoang ketsahalong e 'ngoe. Bakeng sa mokhoa oa websaete, o hloka ho kenya botlolo le liphutheloana tse 'maloa tse eketsehileng,' me sena ha se amohelehe hohle, ka mohlala ho AstraLinux SE e tiisitsoeng.

Ka sehokelo sa Marang-rang, u ka bona boemo le li-backups tsa li-server tse hokahaneng: "mohlala oa webo" o kopa data ho "maemo a bekapo" ka API. Ho fihlella webosaete ho hloka tumello, phihlello ea webapi ha e hloke.

Backup e 'ngoe - e fetang script, e bonolo ho feta sistimi

Li-backups tse fosahetseng li tšoailoe ka 'mala: temoso - mosehla, phoso - e khubelu.

Backup e 'ngoe - e fetang script, e bonolo ho feta sistimi

Backup e 'ngoe - e fetang script, e bonolo ho feta sistimi

Haeba molaoli a sa hloke letlapa la cheat ho li-parameter mme lits'ebetso tsa ts'ebetso ea seva li homogeneous, o ka bokella faele mme oa aba sephutheloana se lokiselitsoeng.

Re aba sesebelisoa sena haholo-holo ka Ansible, re e fetisetsa pele ho tse ling tsa li-server tsa bohlokoa haholo, 'me ka mor'a ho etsa liteko ho tse ling kaofela.

Ka lebaka leo, re ile ra fumana sesebelisoa sa compact, se ikemetseng se ka iketsetsang 'me se ka sebelisoa le ke batsamaisi ba se nang phihlelo. E loketse rona - mohlomong e tla ba molemo le ho uena?

Source: www.habr.com

Eketsa ka tlhaloso