Nkeji 2 / 11

Ederede akpaaka: Na-emepụta Bash, PowerShell, na Python n'enweghị nsogbu

Uru:

  • Ikike imepụta Bash, PowerShell na Python automation scripts nwere mmachi doro anya yana nchekwa nchekwa nwere ọgụgụ isi.
  • Ikike ịgbakwunye ụkpụrụ dị ka idempotency, nkụchi-ọsọ, njikwa njehie na ịtụgharịghachi na edemede ọ bụla wee tinye usoro 'ịkwalite, sie ike, nyochaa'
  • Ikike ịghọta na ogbugbu nke edemede emepụtara apụtaghị na ọ dị mma ma nweta àgwà nke iburu ibu ọrụ site n'ịgụ na ịnwale ahịrị mbibi.

Ederede akpaaka: imepụta Bash, PowerShell na Python n'enweghị nsogbu na AI

Onye iro kachasị njọ nke onye na-ahụ maka sistemụ bụ ọrụ ntuziaka ugboro ugboro: ijikọ na igwe ọ bụla na ihicha ndekọ, imepe otu onye ọrụ na sava iri abụọ, na-eme otu nlele ahụike kwa ụtụtụ. Nkwughachi a na-emeghe ma oge ma njehie mmadụ. Edemede akpaaka bụ obere mmemme na-enyefe ihe ndị a na kọmpụta - a na-edekarị ya na Bash (asụsụ iwu shell) na ụwa Linux, PowerShell (Shell automation Microsoft) na ụwa Windows, yana Python maka ọrụ kwụụrụ onwe ya n'elu ikpo okwu. AI na-adị ngwa ngwa n'ịmepụta, na-akọwa na melite akwụkwọ mbụ nke edemede ndị a. Mana edemede abụghị ederede, ọ bụ ike na-arụ ọrụ na sistemụ gị; N'adịghị ka usoro Excel, ọ bụrụ na ezighi ezi, ọ na-ehichapụ faịlụ ahụ, kwụsị ọrụ ahụ, ma belata ohere. Ọ bụ ya mere nkwa nke otu a ji bụrụ: AI na-ede edemede, ị na-agụ ya, nwalee ya ma na-agba ọsọ na-arụ ọrụ.

N'ime nkeji a, ị ga-amụta otu esi emepụta ederede nchekwa, nke a na-agụ na nke nwere ike weghachite na AI; Ụkpụrụ na-azọpụta ndụ dị ka idempotency (ịgba otu edemede ugboro abụọ adịghị emebi emebi) na akọrọ-agba ọsọ; na ị ga-amụta akwụkwọ ndenye ego nke edemede ga-agafe tupu itinye ya na mmepụta.

Kedu ihe kpatara ide ederede na AI ji dị ike?

Ọbụna onye nchịkwa nwere ahụmahụ nwere ike ọ gaghị ama kpọmkwem syntax nke Bash loop, parampat nke PowerShell cmdlet (iwu), ma ọ bụ Python try/belụsọ igbochi site na obi. AI na-ejupụta oghere a ozugbo: ị na-akọwa ebumnuche ya na Turkish dị larịị, ọ na-emepụta ihe ngosi na-arụ ọrụ. Ọzọkwa, ị nwere ike ịnye AI edemede dị adị wee sị "kọwaa nke a", "tinye njikwa njehie", "mee ka ọ bụrụ ihe a na-agụ". Nke a na-ebelata usoro mmụta ma na-ebute ndị otu obere obere ọsọ ọsọ.

Ma na ike na-abịa ọrụ. Ọtụtụ mgbe, edemede nke AI mepụtara na-ede "ụzọ obi ụtọ" nke ọma (ọ bụrụ na ihe niile dị mma); ma ọ nwere ike na-atụ uche ikpe ikpe (faịlụ efu, diski juru, netwọk ala) ma ọ bụ mee ize ndụ echiche. Yabụ chee echiche banyere ọgbọ edemede nwere AI na usoro atọ: mepụta, sie ike, nyochaa.

Nzọụkwụ site na nzọụkwụ: ọgbọ edemede echekwara

  1. Dee ebumnuche na mgbochi nke ọma. Kedu sistemụ arụmọrụ, nke ụdị shei, nke faịlụ ụzọ, ikike kedu? Dị ka "Ubuntu 22.04, Bash 5, sudo not root, naanị na-agba ọsọ n'okpuru /opt/app/logs". Ọchịchọ na-enweghị isi na-arụpụta echiche dị ize ndụ.
  2. Rịọ maka ụgbọ okporo ígwè nchekwa. Na-achọ ka script "kwụsị na ọdịda" (set-euo pipefail na Bash), ozugbo maka nkwenye nke arụrụ arụrụ arụ, nkwado ndabere na mpaghara tupu arụ ọrụ, na akọrọ-agba ọsọ mode. Ebe nchekwa ndị a na-ejide ọnụ na-ekwu na AI gafere.
  3. Dee ike. Edemede ekwesịghị ịkpata mperi ma ọ bụ mebie mgbe ọ na-agba ọsọ nke ugboro abụọ. Mepụta mgbagha nke "ịwụpụ ma ọ bụrụ na onye ọrụ adịlarị", "mepụta ndekọ aha ma ọ bụrụ na ọ dịghị, emetụla ya aka ma ọ bụrụ na ọ dị". Nke a na-enye ohere ka akpaaka na-agba ọsọ n'enweghị nsogbu ugboro ugboro.
  4. Gụọ ma ghọta. Gụọ ahịrị ọ bụla emepụtara. Rịọ AI ka ọ kaa akara iwu mbibi (rm, Wepụ-Ihe, DROP) iche.
  5. Nwalee na akọrọ-agba ọsọ. Nke mbụ, mee ya na ọnọdụ "ịkọ ihe ị ga-eme" kama ịrụ ọrụ n'ezie. Ọ bụrụ na mmepụta bụ ihe ị tụrụ anya ya, gbanwee gaa na ezigbo ọnọdụ - yana na igwe nyocha mbụ.
  6. Kwadebe nlọghachi gị. Edemede ahụ ọ na-eme nkwado ndabere? Ị maara otu esi eweghachi ndabere ahụ? Enwere osisi, ị nwere ike ịhụ ihe ọ na-eme ma emechaa?
NDỤMỌDỤ: Mee ka edemede mbibi ọ bụla gụnyere DRY_RUN=ezigbo mgbanwe yana ọkọlọtọ --apply. Omume ndabara bụ ide ihe ga-eme na-enweghị ihichapụ ihe ọ bụla; Ka ihichapụ n'ezie rụọ ọrụ naanị ma ọ bụrụ --apply nyere n'ụzọ doro anya. Otu àgwà a na-egbochi ọdachi ndị na-adịte aka ọrụ.

Obere ikpe atọ

Ikpe 1 - Idempotency echekwara 3 awa. Onye nchịkwa dere edemede tinyere otu onye na-ahụ maka nleba anya na sava 25. Ụdị nke mbụ abụghị idempotent: ọ mebiri nhazi ahụ na ọsọ nke abụọ ma ọ bụrụ na etinyere onye ọrụ ahụ. Onye injinia ahụ nwere AI gbakwunye "lelee ma etinyere ya, gbanye ya ma ọ bụrụ na ọ bụ" ezi uche. N'ime windo mmezi na-esote, edemede ahụ kpalitere na mberede ugboro abụọ mana ọ nweghị mmerụ ahụ. Idempotency mere mgbake ihe nkesa 25 adịghị mkpa.

Ikpe 2 - Akọrọ-agba ọsọ zọpụta mgbọrọgwụ ndekọ. Otu otu nwetara script Bash nke kpochapụrụ nkwado ndabere na mpaghara ochie. Ọ bụrụ na mgbanwe ahụ tọgbọrọ chakoo, ụzọ ahụ ghọrọ / kama / ndabere / - ihe egwu kpochapụwo. Onye injinia bu ụzọ gbaa ya na ọnọdụ DRY_RUN, jụrụ oyi mgbe ọ hụrụ ahịrị yiri rm -rf / na mmepụta, wee gbakwunye nlele mgbanwe (: "${BACKUP_DIR:? enweghị ike ịbụ ihe efu}"). Ọsọ akọrọ jidere ahụhụ nke ga-ehichapụ diski niile tupu ọ banye na mmepụta.

Ikpe 3 - Njehie njikwa gbochiri ya ịkpọte otu abalị. Edemede PowerShell nọ na-edobe ndekọ mgbe diski juru. Ụdị nke mbụ ga-ada jụụ ma ọ bụrụ na netwọk netwọk enweghị ike ịnweta ma gaa n'ihu na-ejupụta diski ahụ. Nyochaa ihe ịga nke ọma na nzọụkwụ ọ bụla, ma ọ bụrụ na ọ gaghị aga nke ọma, mee ka e-mail mara ma kwụsị" agbakwunyere na AI. Mgbe otu izu gasịrị, agbajiri post ahụ; Edemede ahụ kwụsịrị ma dọọ aka ná ntị, diski ahụ ezughị ezu, ọ dịghị onye na-eteta n'elekere atọ nke ụtụtụ.

Ndebiri anọ enwere ike iṅomi

1) Ọgbọ edemede Bash echekwara:

Ọrụ gị: Injinia automation Linux agadi. Dee edemede maka Ubuntu 22.04 / Bash 5. Nzube:[nzube]. Iwu:- Malite na "set-euo pipefail" - Jiri ": ${VAR:?}" kwado mgbanwe ndị achọrọ."- Mee ọrụ mbibi na ndabara DRY_RUN=ezi; Ka ezigbo ngwa na-eji naanị ọkọlọtọ --apply. - Banye nzọụkwụ ọ bụla na stdout, kwụsị na ozi bara uru na njehie. - Mee ka ọ dị ike (ka ọ ghara imebi na agba nke abụọ). Mgbe ahụ: kaa akara ahịrị ndị nwere ike ibibi iche iche wee dee ikpe 3 nke m kwesịrị ịnwale tupu mmepụta.

2) Ime ka edemede dị adị sie ike:

Mee ka edemede a dị njikere maka mmepụta: (1) gbakwunye njikwa njehie na ịde osisi, (2) mee ka ọ bụrụ nke ike, (3) tinye iwu na-emebi emebi n'azụ akọrọ-agba ọsọ, (4) wepụ ụzọ siri ike na nzuzo na mgbanwe. Kọwaa nkenke ahịrị ọ bụla ị gbanwere na ihe kpatara ya. Edemede: [script]

3) PowerShell akpaaka echedoro:

Ọrụ gị: Ọkachamara akpaaka Windows. Dee edemede dakọtara PowerShell 5.1. Nzube: [nzube]. Iwu:- Malite na "$ ErrorActionPreference = 'Kwụsị'" .- Tinye -WhatIf nkwado na-ebibi cmdlets (ndabara WhatIf) - Kechie ihe omume ọ bụla na-agbalị/ejide, log njehie.- nzere hardcoding; Jiri paramita ma ọ bụ ntinye echekwara. Kaaka akara n'ahịrị ndị na-emebi emebi wee dee usoro megharịa.

4) cron/nhazi okwu ngbanwe na nkwenye:

Kọwaa nkwupụta cron ndị a na Turkish dị larịị wee dee oge ọsọ ọsọ 3 na-esote: [nkwupụta] Ọzọkwa, ọ bụrụ na ebumnuche m bụ "[nzube]", nkwupụta a ọ bụ eziokwu ka ọ bụ enwere ndozi ị tụrụ aro? Marakwa mmetụta oge oge.

Ngwa ngwa adịghị ike / Ike siri ike

Ngwa ngwa adịghị ike:

Dee m script na-ehicha osisi.

Ngwa ngwa a dị ize ndụ: amabeghị nke OS, akwụkwọ ndekọ aha, oke afọ, nke nchekwa nchekwa. AI nwere ike ịnapụta otu-liner, mbibi na-enweghị ike ịchọpụta rm.

Mgbasa ozi siri ike:

Ọrụ gị: Injinia automation Linux agadi. Dee ederede nhicha ndekọ maka Ubuntu 22.04 / Bash. Hichapụ naanị faịlụ .log n'okpuru /opt/app/logs torola ụbọchị 30. Iwu: set -euo pipefail; Kwado mgbanwe BACKUP_DIR na LOG_DIR (kwụsị ma ọ bụrụ ihe efu); ndepụta faịlụ ndekọ tupu ihichapụ; Ka DRY_RUN=ezi bụrụ nke ndabara, n'ezie ihichapụ naanị na --apply; Ka ọ dị ike. Kanye akara ahịrị ndị na-emebi emebi wee dee ọnọdụ 3 m kwesịrị ịnwale.

atụmatụ

Edemede adịghị ike / ngwa ngwa

edemede siri ike

Ijikwa mperi

Mba, ọdịda nkịtị

set -euo pipefail, gbalịa/jide

omume mbibi

Na-arụ ọrụ ozugbo

Ọkọlọtọ nlele kpọrọ nkụ + mepere emepe

Malitegharịa ekwentị

nwere ike imerụ ahụ

Enweghị ike, nchekwa

njikwa nzuzo

koodu siri ike

Ntinye agbanwe agbanwe/zoozoo

megharia

Ọ dịghị

Ndabere + weghachi nzọụkwụ

Mmejọ ndị nkịtị

  • Na-agba ọsọ edemede mbibi na-enweghị nkụ-agba. Ịhụghị edemede nwere rm, Wepụ-Ihe, DROP mbụ na ọnọdụ akọrọ na-efu diski.
  • Mafee nlele mgbanwe efu. Ngbanwe ụzọ efu na-eme / kama / ndabere /; : Jide n'aka na iji "${VAR:?}" nyochaa ya.
  • Ichefu enweghị ike. Edemede ahụ na-agbaji mgbe ọ na-agba ọsọ ugboro abụọ, na-eme ka akpaaka ahụ ghara ịdabere na ya.
  • Ihe nzuzo nzuzo. Ide okwuntughe na igodo n'ime edemede bụ ihipu mgbe ị na-ekekọrịta edemede ahụ.
  • Nnwale na mmepụta. Ime nke mbụ na-agba ọsọ na mmepụta pụtara imegharị ihe na ogbo; igwe nyocha mbụ.
Ntị: Anabatala edemede nke AI nyere naanị n'ihi na "ọ rụrụ ọrụ, nke ahụ pụtara na ọ bụ eziokwu". Naanị n'ihi na ọ na-arụ ọrụ apụtaghị na ọ naghị ebibi ihe. Edemede nwere ike ịgba ọsọ na ụzọ obi ụtọ ma hichapụ data na steeti nsọ; Ezigbo ule bụ ikpe ihu.

Na nchịkọta

Ederede akpaaka na-ewepụ ugboro ugboro ma belata njehie mmadụ; AI na-adị ngwa ngwa n'ịmepụta, ịkọwapụta na imezi edemede ndị a ike. Ma script bụ ike na-arụ ọrụ: ọ bụrụ na ọ na-ezighị ezi, ọ na-ehichapụ, kwụsị, nkwụsị. Ya mere guzobe okirikiri "mepụta, sie ike, nyochaa". Gụnye njikwa njehie, idempotency, nkụchi-ọsọ, na ndaghachi azụ n'edemede ọ bụla na-emebi emebi. Wepụ ihe nzuzo na mgbanwe, mee nke mbụ na-agba ọsọ na igwe nyocha. Edemede AI na-ede; Ọ bụ ọrụ gị ịgụ ya, nwalee ya, na ibu ọrụ maka ijikwa ya.

Ọrụ ngwa

Họrọ ọrụ ị ji aka na-emeghachi n'ọrụ gị (dịka nchacha ndekọ, oghere onye ọrụ, nlele ahụike). Rịọ nkọwapụta sitere na AI nwere “Secure Bash script” ma ọ bụ “PowerShell safe automation” dị n'elu. Gụọ ahịrị edemede emepụtara site n'ahịrị wee kaa akara ndị na-emebi emebi. Gbaa ya na ọnọdụ akọrọ na-agba ọsọ na mbụ na igwe nyocha, tụnyere mmepụta na atụmanya gị. Mgbe ahụ nyeghachi edemede ahụ na AI wee mee ka ọ dị mma na ndebiri "harden" ma rịba ama ọdịiche 5 dị n'etiti nsụgharị abụọ ahụ.

ndetu

  • [ ] Etinyela m mmachi dị ka OS, ụdị shei, ụzọ na ikike n'ime ngwa ngwa?
  • [] Edemede ọ nwere mmejọ na set -euo pipefail / $ErrorActionPreference='Kwụsị'?
  • [ ] A na-arụ ọrụ mbibi n'azụ akọrọ-agba ọsọ/-Gịnị ma ọ bụrụ na achọrọ ọkọlọtọ nlele doro anya?
  • [] Edemede ahụ ọ nwere ike (ọ dị mma na ọsọ nke abụọ)?
  • [] Ewepụtala m ihe nzuzo na ntinye mgbanwe/nzuzo kama itinye koodu siri ike?
  • [] Emeela m ọsọ mbụ na igwe ule wee kwado atụmatụ nloghachi?