Unità 2 / 11

Skripts ta 'Awtomazzjoni: Ġenerazzjoni ta' Bash, PowerShell, u Python Sikur

Qligħ:

  • Kapaċità li tipproduċi skripts ta' awtomazzjoni Bash, PowerShell u Python b'restrizzjonijiet ċari u guardrails tas-sigurtà b'intelliġenza artifiċjali
  • Kapaċità li żżid prinċipji bħal idempotenza, dry-run, immaniġġjar ta 'żbalji u rollback għal kull skript u tapplika ċ-ċiklu 'iġġenera, twebbis, verifika'
  • Kapaċità li tifhem li l-eżekuzzjoni tal-kitba prodotta ma tfissirx li hija sigura u li tikseb id-drawwa li tieħu r-responsabbiltà billi taqra u tittestja linji distruttivi.

Skripts ta 'Awtomazzjoni: Ġenerazzjoni ta' Bash, PowerShell u Python Sikur bl-AI

L-agħar ghadu tal-amministratur tas-sistema huwa xogħol manwali ripetittiv: konnessjoni ma 'kull magna u tindif tar-zkuk, ftuħ tal-istess utent fuq għoxrin server, tħaddim tal-istess kontroll tas-saħħa kull filgħodu. Din ir-repetizzjoni hija miftuħa kemm għall-ħin kif ukoll għall-iżball uman. Skript ta 'awtomazzjoni huwa programm żgħir li jiddelega dawn l-iterazzjonijiet lill-kompjuter - ħafna drabi miktub b'Bash (lingwa tal-kmand tal-qoxra) fid-dinja Linux, PowerShell (qoxra ta' awtomazzjoni ta 'Microsoft) fid-dinja tal-Windows, u Python għal xogħol indipendenti mill-pjattaforma. AI hija oerhört veloċi fil-produzzjoni, tispjega u ttejjeb l-ewwel abbozz ta 'dawn l-iskripts. Imma l-iskrittura mhix test, hija forza li taħdem fis-sistema tiegħek; B'differenza minn formula Excel, jekk ma tkunx korretta, tħassar il-fajl, twaqqaf is-servizz, u tnaqqas l-aċċess. Huwa għalhekk li l-wegħda ta 'din l-unità hija: AI tikteb l-iskript, taqrah, tittestjaha u tmexxiha tieħu r-responsabbiltà.

F'din l-unità, int se titgħallem kif tipproduċi skripts sikuri, li jinqraw u li jistgħu jiġu rkuprati bl-AI; Prinċipji li jsalvaw il-ħajja bħal idempotenza (it-tħaddim tal-istess script darbtejn ma jikkawżax ħsara) u dry-run; u titgħallem il-verifiki li trid tgħaddi minnhom script qabel ma tpoġġiha fil-produzzjoni.

Għaliex l-iscripting bl-AI hija daqshekk qawwija?

Anke amministratur b'esperjenza jista 'ma jkunx jaf is-sintassi eżatta ta' loop Bash, il-parametri ta 'cmdlet PowerShell (kmand), jew Python try/except block bl-amment. L-AI timla dan il-vojt istantanjament: tispjega l-intenzjoni bit-Tork sempliċi, u tipproduċi deskrizzjoni ta' ħidma. Barra minn hekk, tista' tagħti skript eżistenti lill-AI u tgħid "spjega dan", "żid l-immaniġġjar tal-iżbalji", "għamilha aktar leġibbli". Dan iqassar il-kurva tat-tagħlim u jġib il-membri tat-tim junior aġġornati.

Imma bil-poter tiġi r-responsabbiltà. Ħafna mill-ħin, skript iġġenerat mill-AI jikteb il-"passaġġ kuntenti" b'mod korrett (jekk kollox ikun tajjeb); iżda jista' jitlef każijiet edge (fajl nieqes, disk mimli, network down) jew jagħmel suppożizzjonijiet perikolużi. Allura aħseb fil-ġenerazzjoni ta 'skript bl-AI fi tliet stadji: iġġenera, twebbis, ivverifika.

Pass pass: ġenerazzjoni ta 'skript sigur

  1. Ikteb l-intenzjoni u r-restrizzjoni b'mod ċar. Liema sistema operattiva, liema verżjoni tal-qoxra, liema mogħdijiet tal-fajls, liema drittijiet? Bħal "Ubuntu 22.04, Bash 5, sudo not root, run only under /opt/app/logs". Domanda ambigwa tipproduċi assunzjoni perikoluża.
  2. Staqsi għal poġġamani tas-sigurtà. Jeħtieġ li l-iskript "jieqaf mal-falliment" (sett -euo pipefail f'Bash), fil-pront għall-konferma ta 'operazzjonijiet distruttivi, backup qabel l-operazzjoni, u modalità dry-run. Dawn il-guardrails jaqbdu t-tarf jiddikjaraw li l-AI tevita.
  3. Ikteb idempotent. L-iskript m'għandux jikkawża żbalji jew ħsara meta jitħaddem għat-tieni darba. Stabbilixxi loġika ta '"skip jekk l-utent diġà jeżisti", "oħloq id-direttorju jekk ma jeżistix, tmissx jekk jeżisti". Dan jippermetti li l-awtomazzjoni taħdem mingħajr periklu għal darba oħra.
  4. Aqra u tifhem. Aqra kull linja prodotta. Staqsi lill-AI biex timmarka kmandi distruttivi (rm, Neħħi-Oġġett, DROP) separatament.
  5. Ittestja bi dry-run. L-ewwel, mexxiha fil-mod "tgħid x'għandek tagħmel" minflok operazzjonijiet attwali. Jekk l-output huwa dak li tistenna, aqleb għall-modalità reali — u l-ewwel fuq il-magna tat-test.
  6. Ipprepara r-rimonta tiegħek. L-iskrittura tieħu backups? Taf kif tirrestawra l-backup? Hemm logging, tista' tara x'qed tagħmel aktar tard?
Tip: Ħalli kull skript destruttur jinkludi DRY_RUN=varjabbli vera u --apply bandiera. L-imġiba awtomatika hija li tikteb x'se jiġri mingħajr ma tħassar xejn; Ħalli t-tħassir attwali jaħdem biss jekk --apply jingħata b'mod espliċitu. Dan il-vizzju wieħed jipprevjeni diżastri tul il-karriera.

tliet każijiet żgħar

Każ 1 — Idempotenza ffrankata 3 sigħat. Amministratur kiteb skript li installat l-istess aġent ta 'monitoraġġ fuq 25 server. L-ewwel verżjoni ma kinitx idempotent: kissret il-konfigurazzjoni fit-tieni ġirja jekk l-aġent kien diġà installat. L-inġinier kellu l-AI żżid il-loġika "iċċekkja jekk huwiex installat, aqbeż jekk hux". Matul it-tieqa tal-manutenzjoni li jmiss, l-iskript aċċidentalment attivat darbtejn iżda ma għamel l-ebda ħsara. Idempotenza għamlet irkupru ta' 25 server mhux meħtieġ.

Każ 2 — Dry-run issejvjat direttorju tal-għeruq. Tim wieħed irċieva skript Bash li tnaddaf backups qodma. Jekk il-varjabbli kien vojt, il-mogħdija saret / minflok /backups/ — periklu klassiku. L-inġinier l-ewwel damha fil-modalità DRY_RUN, ffriżat meta ra linja simili għal rm -rf / fl-output, u żied kontroll varjabbli (: "${BACKUP_DIR:?ma jistax ikun vojt}"). It-tħaddim niexef qabad bug li jimsaħ id-disk kollu qabel ma daħal fil-produzzjoni.

Każ 3 — Il-ġestjoni tal-iżbalji żammitha milli tqum lejl wieħed. Skript PowerShell kien qed jarkivja zkuk meta d-diska kienet mimlija. L-ewwel verżjoni tonqos skiet jekk is-sehem tan-netwerk ma jkunx aċċessibbli u tkompli timla d-diska. "Ivverifika s-suċċess f'kull pass, jekk ma tirnexxix, notifika bl-e-mail u waqqaf" ġiet miżjuda mal-AI. Wara ġimgħa, il-post inkiser; L-iskript waqaf u wissa, id-diska ma kinitx mimlija, ħadd ma qam fit-3 am.

Erba' mudelli li jistgħu jiġu kkupjati

1) Ġenerazzjoni ta' skript Bash sigur:

Ir-rwol tiegħek: inġinier anzjan tal-awtomazzjoni tal-Linux. Ikteb skript għal Ubuntu 22.04 / Bash 5. Għan: [għan]. Regoli:- Ibda b'"set -euo pipefail".- Ivvalida l-varjabbli meħtieġa b'": ${VAR:?}".- Wettaq operazzjonijiet distruttivi b'default DRY_RUN=true; Ħalli l-applikazzjoni reali taħdem biss bil-bandiera --apply. - Log kull pass għal stdout, waqqaf b'messaġġ sinifikanti dwar żball. - Agħmilha idempotent (sabiex ma tikkawżax ħsara fit-tieni ġirja). Imbagħad: immarka l-linji potenzjalment distruttivi separatament u ikteb 3 każijiet li għandi bżonn nittestja qabel il-produzzjoni.

2) It-twebbis tal-iskrittura eżistenti:

Agħmel l-iskrittura li ġejja lesta għall-produzzjoni: (1) żid l-immaniġġjar tal-iżbalji u l-illoggjar, (2) tagħmilha idempotent, (3) poġġi kmandi distruttivi wara dry-run, (4) estratt mogħdijiet u sigrieti hard-coded għall-varjabbli. Iddeskrivi fil-qosor kull linja li bdilt u għaliex. Skript: [kitba]

3) Awtomazzjoni sikura PowerShell:

Ir-rwol tiegħek: espert tal-awtomazzjoni tal-Windows. Ikteb skript kompatibbli PowerShell 5.1. Għan: [għan]. Regoli:- Ibda b'"$ErrorActionPreference = 'Stop'".- Żid -WhatIf appoġġ għal cmdlets destructor (default WhatIf).- Kebbeb kull azzjoni bi try/catch, log error.- Kredenzjali hardcoding; Uża parametru jew input sigur. Immarka linji distruttivi u ikteb il-passi li jneħħu.

4) Dekodifikazzjoni u verifika tal-espressjoni Cron/skeda:

Spjega d-dikjarazzjoni cron li ġejja bit-Tork sempliċi u ikteb it-3 runtimes li jmiss: [espressjoni] Ukoll, jekk l-għan tiegħi huwa "[għan]", din id-dikjarazzjoni hija korretta jew hemm xi soluzzjoni li tissuġġerixxi? Innota wkoll l-effett tal-perjodu ta 'żmien.

Pront dgħajjef / Pront qawwi

Pront dgħajjef:

Iktbilli skript li jnaddaf il-ġurnal.

Dan il-pront huwa perikoluż: mhuwiex ċar liema OS, liema direttorju, liema limitu ta 'età, liema guardrail tas-sigurtà. L-AI tista 'twassal rm one-liner, distruttiv u mhux verifikabbli.

Pront qawwi:

Ir-rwol tiegħek: inġinier anzjan tal-awtomazzjoni tal-Linux. Ikteb skript tat-tindif ta 'log għal Ubuntu 22.04 / Bash. Ħassar biss fajls .log taħt /opt/app/logs li għandhom aktar minn 30 jum. Regoli: set -euo pipefail; Ivvalida l-varjabbli BACKUP_DIR u LOG_DIR (waqfien jekk vojta); lista tal-fajl tal-log qabel it-tħassir; Ħalli DRY_RUN=true tkun il-default, it-tħassir attwali biss b'--apply; Ħalliha tkun idempotenti. Immarka l-linji distruttivi u ikteb 3 xenarji li għandi nittestja.

karatteristika

Skript dgħajfa/veloċi

skript imwebbes

Immaniġġjar ta' żbalji

Nope, falliment siekta

issettja -euo pipefail, ipprova/qabda

azzjoni distruttiva

Jaħdem direttament

Dry-run + bandiera verifika miftuħa

Ibda mill-ġdid

jista’ jikkawża ħsara

Idempotenti, sigur

ġestjoni sigrieta

kodifikat iebes

Input varjabbli/moħbi

ħoll

Xejn

Pass ta' backup + restawr

Żbalji komuni

  • Tmexxi b'kitba distruttiva mingħajr dry-run. Li ma tarax l-iskript li fih rm, Neħħi-Oġġett, DROP l-ewwel fil-mod niexef jiswa disk.
  • Aqbeż il-kontroll varjabbli null. Varjabbli mogħdija vojta tagħmel / minflok /backups/; : Kun żgur li tivverifika b'"${VAR:?}".
  • Tinsa l-Idempotenza. L-iskrittura tinqasam meta titħaddem darbtejn, u b'hekk l-awtomazzjoni ma tkunx affidabbli.
  • Sigrieti hard-coding. Il-kitba tal-password u ċ-ċavetta fl-iskript hija tnixxija meta taqsam dik l-iskrittura.
  • Ittestjar fil-produzzjoni. Li tagħmel l-ewwel run fil-produzzjoni tfisser il-provi fuq il-palk; magna tat-test l-ewwel.
Attenzjoni: Taċċettax skript mogħti mill-AI sempliċement għax "ħadmet, dan ifisser li huwa korrett". Sempliċement għax taħdem ma jfissirx li mhix distruttiva. Iskrittura tista 'taħdem fuq il-mogħdija kuntenta u tħassar id-dejta fl-istat tat-tarf; It-test reali huwa l-każijiet tarf.

Fil-qosor

L-iskripts tal-awtomazzjoni jeliminaw ir-ripetizzjoni u jnaqqsu l-iżball uman; L-AI hija oerhört mgħaġġla biex tiġġenera, tispjega, u twebbes dawn l-iskripts. Imma l-iskrittura hija forza tax-xogħol: jekk tkun ħażina, tħassar, tieqaf, tinterrompi. Allura stabbilixxi ċ-ċiklu "tipproduċi, twebbis, ivverifika". Inkludi l-immaniġġjar tal-iżbalji, idempotenza, dry-run, u fallback f'kull skript distruttiv. Oħroġ is-sigrieti għall-varjabbli, agħmel l-ewwel ġirja fuq il-magna tat-test. AI script jikteb; Huwa xogħol tiegħek li taqrah, tittestjaha, u tieħu r-responsabbiltà li tmexxiha.

Kompitu ta' applikazzjoni

Agħżel kompitu li tirrepeti manwalment fix-xogħol tiegħek (eż. tindif ta’ log, ftuħ mill-utent, kontroll tas-saħħa). Itlob deskrizzjoni mill-AI bil-mudell "Secure Bash script" jew "PowerShell secure automation" hawn fuq. Aqra l-iskrittura ġġenerata linja b'linja u mmarka l-linji distruttivi. Mexxih fil-modalità dry-run l-ewwel fuq magna tat-test, qabbel il-produzzjoni mal-aspettattiva tiegħek. Imbagħad agħti l-iskrittura lura lill-AI u rfinaha bil-mudell "jibbies" u nnota l-5 differenzi bejn iż-żewġ verżjonijiet.

lista ta' kontroll

  • [ ] Inkludejt restrizzjonijiet bħal OS, verżjoni tal-qoxra, mogħdijiet u drittijiet fil-pront?
  • [ ] L-iscript huwa tolleranti għall-ħsarat b'set -euo pipefail / $ErrorActionPreference='Stop'?
  • [ ] Huma operazzjonijiet distruttivi wara dry-run/-WhatIf u jeħtieġu marka ta' kontroll espliċita?
  • [ ] L-iskritt huwa idempotent (sikur fit-tieni run)?
  • [ ] Estralt is-sigrieti għal input varjabbli/sigriet minflok ma kkodifikahom?
  • [ ] Għamilt l-ewwel ġirja fuq il-magna tat-test u ħejjejt pjan tar-ritorn?