နောက်တစ်ခု - script တစ်ခုထက်ပိုသော၊ စနစ်တစ်ခုထက်ပိုမိုရိုးရှင်းသည်။

အရန်စနစ်များစွာရှိသော်လည်း ဝန်ဆောင်မှုပေးသည့်ဆာဗာများသည် မတူညီသောဒေသများနှင့် ဖောက်သည်များပေါ်တွင် ပြန့်ကျဲနေပြီး လည်ပတ်မှုစနစ်နှင့် လုပ်ဆောင်ရန် လိုအပ်ပါက ဘာလုပ်ရမည်နည်း။

နောက်တစ်ခု - script တစ်ခုထက်ပိုသော၊ စနစ်တစ်ခုထက်ပိုမိုရိုးရှင်းသည်။

ကောင်းသောနေ့လည်ခင်း, ဟာဗရာ!
ကျွန်တော့်နာမည် Natalya ပါ။ ကျွန်ုပ်သည် NPO Krista ရှိ လျှောက်လွှာစီမံခန့်ခွဲသူများအဖွဲ့၏ အဖွဲ့ခေါင်းဆောင်ဖြစ်သည်။ ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏ ကုမ္ပဏီ၏ ပရောဂျက်အဖွဲ့အတွက် Ops ဖြစ်သည်။ ကျွန်ုပ်တို့တွင် အလွန်ထူးခြားသောအခြေအနေတစ်ခုရှိသည်- ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏ကုမ္ပဏီ၏ဆာဗာများနှင့် သုံးစွဲသူများ၏ဆိုက်များတွင်ရှိသော ဆာဗာများတွင် ကျွန်ုပ်တို့၏ဆော့ဖ်ဝဲကို ထည့်သွင်းထိန်းသိမ်းထားပါသည်။ ဤကိစ္စတွင်၊ ဆာဗာတစ်ခုလုံးကို အရန်ကူးရန် မလိုအပ်ပါ။ "မရှိမဖြစ်ဒေတာ" သာလျှင်အရေးကြီးသည်- DBMS နှင့်တစ်ဦးချင်းစီဖိုင်စနစ်လမ်းညွှန်များ။ ဟုတ်ပါတယ်၊ ဖောက်သည်များသည် ၎င်းတို့၏ကိုယ်ပိုင် အရန်သိမ်းခြင်းဆိုင်ရာ စည်းမျဉ်းများ ရှိသည် (သို့မဟုတ်) ၎င်းတို့တွင် ရှိပြီး ၎င်းတို့တွင် အရန်သိမ်းဆည်းခြင်းအတွက် ပြင်ပသိုလှောင်မှုအချို့ကို ပေးလေ့ရှိသည်။ ဤကိစ္စတွင်၊ အရန်သိမ်းခြင်းကို ဖန်တီးပြီးနောက်၊ ကျွန်ုပ်တို့သည် ပြင်ပသိုလှောင်မှုသို့ ပေးပို့ကြောင်း သေချာပါသည်။

အချိန်အတန်ကြာ၊ အရန်ကူးယူရန် ရည်ရွယ်ချက်များအတွက် ကျွန်ုပ်တို့သည် bash script ဖြင့်လုပ်ဆောင်ခဲ့သည်၊ သို့သော် configuration options များတိုးလာသည်နှင့်အမျှ၊ ဤscript ၏ရှုပ်ထွေးမှုသည်အချိုးကျကြီးထွားလာပြီးတစ်ချိန်တွင် "၎င်းကိုမြေကြီးပေါ်သို့ဖျက်ပစ်ရန် လိုအပ်လာသည်၊ ထို့နောက်၊ ...”

အဆင်သင့်လုပ်ထားသော ဖြေရှင်းချက်များသည် အကြောင်းပြချက်အမျိုးမျိုးအတွက် မသင့်လျော်ပါ- အရန်များကို ဗဟိုချုပ်ကိုင်မှုလျှော့ချရန် လိုအပ်မှု၊ ကလိုင်းယင့်တွင် ပြည်တွင်း၌ အရန်သိမ်းဆည်းရန် လိုအပ်ချက်၊ စနစ်ထည့်သွင်းမှု ရှုပ်ထွေးမှု၊ တင်သွင်းအစားထိုးမှု၊ ဝင်ရောက်ခွင့် ကန့်သတ်ချက်များကြောင့် ဖြစ်သည်။

ကျွန်ုပ်တို့၏ကိုယ်ပိုင်အရာတစ်ခုခုကိုရေးရန်ပိုမိုလွယ်ကူသည်ဟုထင်ရသည်။ တစ်ချိန်တည်းမှာပင်၊ ကျွန်ုပ်သည် လာမည့် N နှစ်များအတွက် ကျွန်ုပ်တို့၏အခြေအနေအတွက် လုံလောက်မည့်အရာတစ်ခုကို ရယူလိုသော်လည်း နယ်ပယ်ကို ချဲ့ထွင်နိုင်သည့် အလားအလာနှင့်အတူ၊

လုပ်ငန်းခွင်အခြေအနေများမှာ အောက်ပါအတိုင်းဖြစ်သည်။

  1. အခြေခံ အရန်သိမ်းခြင်း ဥပမာသည် အလိုအလျောက် အုပ်ချုပ်နိုင်ပြီး စက်တွင်း လုပ်ဆောင်သည်။
  2. အရန်သိမ်းဆည်းမှုများနှင့် မှတ်တမ်းများ သိမ်းဆည်းမှုသည် သုံးစွဲသူ၏ကွန်ရက်အတွင်း အမြဲတမ်းဖြစ်သည်။
  3. ဥပမာတစ်ခုတွင် module များပါဝင်သည် - "constructor" အမျိုးအစား
  4. ခေတ်မမီသော အရာများ အပါအဝင် လက်ရှိ Linux ဖြန့်ဝေမှုများနှင့် လိုက်ဖက်ညီမှုရှိရန် လိုအပ်သည်၊ ဖြစ်နိုင်ချေရှိသော အပြန်အလှန်ပလပ်ဖောင်းသည် နှစ်လိုဖွယ်ဖြစ်သည်
  5. ဥပမာနှင့်အလုပ်လုပ်ရန်၊ ssh မှတဆင့်ဝင်ရောက်ရန်လုံလောက်သည်၊ အပို port များကိုဖွင့်ရန်မလိုအပ်ပါ။
  6. တပ်ဆင်မှုနှင့် လည်ပတ်မှု အများဆုံးလွယ်ကူမှု
  7. မတူညီသောဆာဗာများမှ မိတ္တူကူးခြင်းအခြေအနေကို ဗဟိုမှကြည့်ရှုရန် သီးခြားဥပမာတစ်ခုရှိရန် ဖြစ်နိုင်သည် (သို့သော်မလိုအပ်ပါ)

ဤနေရာတွင် ကျွန်ုပ်တို့ဘာဖြစ်လာသည်ကို သင်ကြည့်ရှုနိုင်သည်- github.com/javister/krista-backup
ဆော့ဖ်ဝဲကို python3 ဖြင့်ရေးသားထားသည်။ Debian၊ Ubuntu၊ CentOS၊ AstraLinux 1.6 တွင် အလုပ်လုပ်သည်။

စာရွက်စာတမ်းကို သိုလှောင်ရာ၏ docs directory တွင် တင်ထားသည်။

စနစ်လုပ်ဆောင်သည့် အခြေခံသဘောတရားများ-
လုပ်ဆောင်ချက် - အက်တမ်လုပ်ဆောင်မှုတစ်ခု (ဒေတာဘေ့စ်အရန်ကူးခြင်း၊ လမ်းညွှန်အရန်ကူးခြင်း၊ လမ်းညွှန် A မှ လမ်းညွှန် B သို့ လွှဲပြောင်းပေးခြင်း စသည်ဖြင့်) လုပ်ဆောင်ချက်တစ်ခု။ ရှိပြီးသားလုပ်ဆောင်ချက်များသည် core/actions directory တွင်တည်ရှိပါသည်။
အလုပ် – အလုပ်၊ ယုတ္တိတန်သော “အရန်သိမ်းဆည်းခြင်းလုပ်ငန်း” တစ်ခုအကြောင်း ဖော်ပြသည့် လုပ်ဆောင်ချက်အစုံ၊
အချိန်ဇယား - အချိန်ဇယား၊ လုပ်ငန်းဆောင်တာ အကောင်အထည်ဖော်ချိန်ကို ရွေးချယ်နိုင်သော ညွှန်ပြချက်တစ်ခုပါရှိသော အလုပ်အစုံ

အရန်ဖွဲ့စည်းမှုအား yaml ဖိုင်တွင် သိမ်းဆည်းထားသည်။ ယေဘူယျ config ဖွဲ့စည်းပုံ-

  • အထွေထွေဆက်တင်များ
  • လုပ်ဆောင်ချက်များ ကဏ္ဍ- ဤဆာဗာတွင် အသုံးပြုသည့် လုပ်ဆောင်ချက်များ ဖော်ပြချက်
  • အချိန်ဇယားအပိုင်း- အလုပ်များအားလုံး (လုပ်ဆောင်ချက်အစုံ) ၏ဖော်ပြချက်နှင့် cron ဖြင့် ၎င်းတို့၏ စတင်ခြင်းအတွက် အချိန်ဇယား၊

ဥပမာ config ကို ဒီမှာ တွေ့နိုင်ပါတယ်။

အပလီကေးရှင်းသည် လက်ရှိလုပ်ဆောင်နိုင်သည်-

  • ကျွန်ုပ်တို့အတွက် အဓိကလုပ်ဆောင်မှုများကို ပံ့ပိုးပေးသည်- pg_dump မှတစ်ဆင့် PostgreSQL အရန်ကူးခြင်း၊ tar မှတစ်ဆင့် ဖိုင်စနစ်လမ်းညွှန်အရန်ကူးခြင်း၊ ပြင်ပသိုလှောင်မှုနှင့်အတူစစ်ဆင်ရေး; လမ်းညွှန်များကြား rsync; အရန်လှည့်ခြင်း (မိတ္တူဟောင်းများကို ဖျက်ခြင်း)
  • ပြင်ပ script ကိုခေါ်ဆိုခြင်း။
  • သီးခြားလုပ်ငန်းတစ်ခုကို ကိုယ်တိုင်လုပ်ဆောင်ခြင်း။
    /opt/KristaBackup/KristaBackup.py run make_full_dump
  • အလုပ်တစ်ခုတည်း သို့မဟုတ် အချိန်ဇယားတစ်ခုလုံးကို crontab တွင် သင်ထည့်နိုင်သည် (သို့မဟုတ်) ဖယ်ရှားနိုင်သည်။
    /opt/KristaBackup/KristaBackup.py enable all
  • အရန်သိမ်းခြင်းရလဒ်များအပေါ် အခြေခံ၍ အစပျိုးဖိုင်ကို ဖန်တီးခြင်း။ အရန်သိမ်းဆည်းမှုများကို စောင့်ကြည့်ရန်အတွက် ဤလုပ်ဆောင်ချက်သည် Zabbix နှင့် တွဲဖက်အသုံးပြုနိုင်သည်။
  • webapi သို့မဟုတ် ဝဘ်မုဒ်တွင် နောက်ခံတွင် အလုပ်လုပ်နိုင်သည်။
    /opt/KristaBackup/KristaBackup.py web start [--api]

မုဒ်များကြား ခြားနားချက်- webapi သည် ဝဘ်အင်တာဖေ့စ်ကိုယ်တိုင် မပါရှိသော်လည်း အပလီကေးရှင်းသည် အခြားဥပမာမှ တောင်းဆိုချက်များကို တုံ့ပြန်သည်။ ဝဘ်မုဒ်အတွက်၊ သင်သည် ဓာတ်ဘူးနှင့် အပိုပက်ကေ့ခ်ျများစွာကို ထည့်သွင်းရန် လိုအပ်ပြီး ၎င်းကို နေရာတိုင်းတွင် လက်ခံနိုင်မည်မဟုတ်ပါ၊ ဥပမာအားဖြင့် လက်မှတ်ရ AstraLinux SE တွင် ဖြစ်သည်။

ဝဘ်အင်တာဖေ့စ်မှတစ်ဆင့်၊ ချိတ်ဆက်ထားသောဆာဗာများ၏ အရန်သိမ်းဆည်းမှုအခြေအနေနှင့် မှတ်တမ်းများကို သင်ကြည့်ရှုနိုင်သည်- "ဝဘ်ဥပမာ" သည် API မှတစ်ဆင့် "အရန်သိမ်းခြင်းဖြစ်ရပ်များ" မှဒေတာကို တောင်းဆိုပါသည်။ ဝဘ်သို့ဝင်ရောက်ခွင့်သည် ခွင့်ပြုချက်လိုအပ်သည်၊ webapi သို့ဝင်ရောက်ခွင့်မရှိပါ။

နောက်တစ်ခု - script တစ်ခုထက်ပိုသော၊ စနစ်တစ်ခုထက်ပိုမိုရိုးရှင်းသည်။

မမှန်ကန်သော အရန်သိမ်းဆည်းမှုမှတ်တမ်းများကို အရောင်ဖြင့် အမှတ်အသားပြုပါသည်- သတိပေးချက် – အဝါရောင်၊ အမှားအယွင်း – အနီရောင်။

နောက်တစ်ခု - script တစ်ခုထက်ပိုသော၊ စနစ်တစ်ခုထက်ပိုမိုရိုးရှင်းသည်။

နောက်တစ်ခု - script တစ်ခုထက်ပိုသော၊ စနစ်တစ်ခုထက်ပိုမိုရိုးရှင်းသည်။

စီမံခန့်ခွဲသူသည် ကန့်သတ်ချက်များပေါ်ရှိ ကွက်လပ်စာရွက်မလိုအပ်ဘဲ ဆာဗာလည်ပတ်မှုစနစ်များသည် တစ်သားတည်းဖြစ်နေပါက၊ သင်သည် ဖိုင်ကို စုစည်းပြီး အဆင်သင့်လုပ်ထားသော အထုပ်ကို ဖြန့်ဝေနိုင်သည်။

ကျွန်ုပ်တို့သည် ဤအရာအား အဓိကအားဖြင့် Ansible မှတဆင့် ဖြန့်ဝေပြီး အရေးကြီးဆုံး ဆာဗာအချို့ထံ ဦးစွာ ဖြန့်ချီကာ ကျန်အားလုံးအား စမ်းသပ်ပြီးနောက်။

ရလဒ်အနေဖြင့်၊ ကျွန်ုပ်တို့သည် အလိုအလျောက်လုပ်ဆောင်နိုင်ပြီး အတွေ့အကြုံမရှိသော စီမံခန့်ခွဲသူများပင် အသုံးပြုနိုင်သည့် ကျစ်လစ်သော၊ သီးခြား မိတ္တူကူးယူမှုအား ကျွန်ုပ်တို့ ရရှိခဲ့ပါသည်။ ကျွန်ုပ်တို့အတွက် အဆင်ပြေသည် - ၎င်းသည် သင့်အတွက်လည်း အသုံးဝင်နိုင်ပါမည်လား။

source: www.habr.com

မှတ်ချက် Add