Qazanclar:
- Süni intellektlə aydın məhdudiyyətlər və təhlükəsizlik qoruyucuları ilə Bash, PowerShell və Python avtomatlaşdırma skriptlərini istehsal etmək bacarığı
- Hər bir skriptə qeyri-müəyyənlik, quru işləmə, səhvlərin idarə edilməsi və geri qaytarma kimi prinsipləri əlavə etmək və "yaratmaq, sərtləşdirmək, yoxlamaq" dövrünü tətbiq etmək bacarığı
- Hazırlanmış ssenarinin icrasının onun təhlükəsiz olması demək olmadığını anlamaq və dağıdıcı sətirləri oxuyub sınaqdan keçirməklə məsuliyyət daşımaq vərdişi əldə etmək bacarığı.
Avtomatlaşdırma skriptləri: AI ilə təhlükəsiz Bash, PowerShell və Python yaratmaq
Sistem administratorunun ən pis düşməni təkrarlanan əl işidir: hər bir maşına qoşulmaq və jurnalları təmizləmək, iyirmi serverdə eyni istifadəçini açmaq, hər səhər eyni sağlamlıq yoxlamasını aparmaq. Bu təkrar həm zamana, həm də insan səhvinə açıqdır. Avtomatlaşdırma skripti bu iterasiyaları kompüterə həvalə edən kiçik bir proqramdır - ən çox Linux dünyasında Bash (qabıq əmr dili), Windows dünyasında PowerShell (Microsoft-un avtomatlaşdırma qabığı) və platformadan müstəqil iş üçün Python dilində yazılır. Süni intellekt bu skriptlərin ilk layihəsini hazırlamaqda, izah etməkdə və təkmilləşdirməkdə inanılmaz dərəcədə sürətlidir. Amma skript mətn deyil, sisteminizdə işləyən qüvvədir; Excel düsturundan fərqli olaraq, səhvdirsə, faylı silir, xidməti dayandırır və girişi kəsir. Buna görə də bu bölmənin vədi budur: AI ssenarini yazır, siz onu oxuyursunuz, sınaqdan keçirin və məsuliyyət götürərək idarə edin.
Bu bölmədə siz AI ilə təhlükəsiz, oxuna bilən və geri götürülə bilən skriptlər hazırlamağı öyrənəcəksiniz; İdempotentlik (eyni skriptin iki dəfə işlədilməsi zərər vermir) və quru qaçış kimi həyat qurtaran prinsiplər; və skriptin istehsala başlamazdan əvvəl keçməli olduğu yoxlamaları öyrənəcəksiniz.
Niyə AI ilə skript bu qədər güclüdür?
Hətta təcrübəli administrator Bash dövrəsinin dəqiq sintaksisini, PowerShell cmdletinin (əmr) parametrlərini və ya Python blokunu sınamaq/blok istisna olmaqla, əzbər bilməyə bilər. Süni intellekt bu boşluğu dərhal doldurur: siz məqsədi sadə türkcə izah edirsiniz və o, iş planını yaradır. Üstəlik, AI-yə mövcud skript verə və "bunu izah edin", "səhvlərin idarə edilməsini əlavə edin", "onu daha oxunaqlı edin" deyə bilərsiniz. Bu, öyrənmə əyrisini qısaldır və kiçik komanda üzvlərini sürətləndirir.
Ancaq güclə birlikdə məsuliyyət də gəlir. Çox vaxt AI tərəfindən yaradılan skript "xoşbəxt yolu" düzgün yazır (hər şey yaxşıdırsa); lakin o, kənar halları əldən verə bilər (fayl yoxdur, disk dolu, şəbəkə bağlanıb) və ya təhlükəli fərziyyələr irəli sürə bilər. Beləliklə, AI ilə skript yaratmağı üç mərhələdə düşünün: yaratmaq, sərtləşdirmək, yoxlamaq.
Addım-addım: təhlükəsiz skript yaratmaq
- Niyyəti və məhdudiyyəti aydın şəkildə yazın. Hansı əməliyyat sistemi, hansı qabıq versiyası, hansı fayl yolları, hansı hüquqlar? "Ubuntu 22.04, Bash 5, sudo root deyil, yalnız /opt/app/logs" altında işləyin. Birmənalı olmayan tələb təhlükəli fərziyyə yaradır.
- Təhlükəsizlik barmaqlıqları tələb edin. Skriptdən "uğursuzluğun dayandırılmasını" tələb edin (Bash-da -euo pipefail təyin edin), dağıdıcı əməliyyatların təsdiqlənməsini, əməliyyatdan əvvəl ehtiyat nüsxəsini və quru işləmə rejimini tələb edin. Bu qoruyucular AI-nin keçdiyi kənar vəziyyətləri tutur.
- İdempotent yazın. Skript ikinci dəfə işlədildikdə heç bir səhv və ya zədələnməməlidir. “İstifadəçi artıq varsa, keçin”, “mövcuddursa kataloqu yaradın, varsa, ona toxunmayın” məntiqini qurun. Bu, avtomatlaşdırmanın təkrar-təkrar təhlükəsiz işləməsinə imkan verir.
- Oxuyun və anlayın. İstehsal olunan hər sətri oxuyun. AI-dan dağıdıcı əmrləri (rm, Sil-Element, DROP) ayrıca qeyd etməyi xahiş edin.
- Quru qaçışla sınaqdan keçirin. Birincisi, onu faktiki əməliyyatlar yerinə "nə edəcəyini söyləmək" rejimində işlədin. Nəticə gözlədiyiniz kimidirsə, real rejimə keçin və əvvəlcə sınaq maşınında.
- Geri dönüşünüzü hazırlayın. Skript ehtiyat nüsxələri götürürmü? Yedəkləməni necə bərpa edəcəyinizi bilirsinizmi? Giriş var, daha sonra nə etdiyini görə bilərsinizmi?
İpucu: Hər bir destruktor skriptinə DRY_RUN=true dəyişəni və --apply bayrağı daxil edin. Standart davranış heç nəyi silmədən nə baş verəcəyini yazmaqdır; Faktiki silmə yalnız --apply açıq şəkildə verildiyi təqdirdə işləsin. Bu bir vərdiş karyera boyu fəlakətlərin qarşısını alır.
üç mini qutu
1-ci hal - Qüsursuzluq 3 saata qənaət edildi. Administrator eyni monitorinq agentini 25 serverdə quraşdıran skript yazıb. Birinci versiya idempotent deyildi: agent artıq quraşdırılıbsa, ikinci əməliyyatda konfiqurasiyanı pozdu. Mühəndis süni intellektə “quraşdırılıb-quraşdırılmadığını yoxlayın, quraşdırılıbsa, keçin” məntiqini əlavə etdi. Növbəti texniki xidmət pəncərəsi zamanı skript təsadüfən iki dəfə işə salındı, lakin heç bir zərər görmədi. Idempotency 25 server bərpasını lazımsız etdi.
2-ci hal - Kök qovluğu quru rejimdə saxladı. Bir komanda köhnə ehtiyat nüsxələrini təmizləyən Bash skripti aldı. Dəyişən boş idisə, yol / ehtiyat nüsxələri / əvəzinə klassik təhlükəyə çevrildi. Mühəndis əvvəlcə onu DRY_RUN rejimində işlətdi, çıxışda rm -rf / oxşar sətir gördükdə dondu və dəyişən yoxlama əlavə etdi (: "${BACKUP_DIR:?boş ola bilməz}"). Quru qaçış, istehsala başlamazdan əvvəl bütün diski siləcək bir səhv tapdı.
3-cü vəziyyət - Səhv idarəsi onun bir gecə oyanmasına mane oldu. Disk dolu olan zaman PowerShell skripti qeydləri arxivləşdirirdi. Şəbəkə paylaşımı əlçatmaz olsaydı və diski doldurmağa davam edərsə, birinci versiya səssizcə uğursuz olardı. Süni intellektə “Hər addımda uğuru yoxlayın, uğursuz olarsa, e-poçtu xəbərdar edin və dayandırın” əlavə edildi. Bir həftədən sonra yazı sındırıldı; Skript dayandı və xəbərdarlıq etdi, disk dolmadı, səhər 3-də heç kim oyanmadı.
Dörd kopyalana bilən şablon
1) Təhlükəsiz Bash skriptinin yaradılması:
Rolunuz: baş Linux avtomatlaşdırma mühəndisi. Ubuntu 22.04 / Bash 5 üçün skript yazın. Məqsəd:[məqsəd]. Qaydalar:- "set -euo pipefail" ilə başlayın.- Tələb olunan dəyişənləri ": ${VAR:?}" ilə təsdiq edin.- Defolt ilə dağıdıcı əməliyyatları yerinə yetirin DRY_RUN=true; Həqiqi tətbiqin yalnız --apply bayrağı ilə işləməsinə icazə verin. - Stdout üçün hər bir addımı daxil edin, səhv haqqında mənalı bir mesajla dayandırın. - İdempotent edin (ikinci qaçışda zədələnməməsi üçün). Sonra: potensial dağıdıcı xətləri ayrıca qeyd edin və istehsaldan əvvəl sınaqdan keçirməli olduğum 3 işi yazın.
2) Mövcud skriptin sərtləşdirilməsi:
Aşağıdakı skripti istehsal üçün hazır edin: (1) xətaların idarə edilməsi və qeydlər əlavə edin, (2) onu qeyri-müəyyən edin, (3) quru işləmə arxasına dağıdıcı əmrlər qoyun, (4) dəyişənə sərt kodlanmış yolları və sirləri çıxarın. Dəyişdirdiyiniz hər bir sətri və nə üçün qısaca təsvir edin. Skript: [skript]
3) PowerShell təhlükəsiz avtomatlaşdırılması:
Rolunuz: Windows avtomatlaşdırma mütəxəssisi. PowerShell 5.1 uyğun skript yazın. Məqsəd: [məqsəd]. Qaydalar:- "$ErrorActionPreference = 'Stop'" ilə başlayın.- Destruktor cmdletlərinə -WhatIf dəstəyi əlavə edin (standart WhatIf).- Hər bir hərəkəti cəhd/tutmaq, log xətası ilə əhatə edin.- Etibarnamənin sərt kodlaşdırılması; Parametr və ya təhlükəsiz girişdən istifadə edin. Dağıdıcı xətləri qeyd edin və geri götürmə addımlarını yazın.
4) Cron/cədvəl ifadəsinin dekodlanması və yoxlanılması:
Aşağıdakı cron ifadəsini düz türkcə izah edin və növbəti 3 iş vaxtını yazın: [ifadə]Həmçinin, əgər mənim məqsədim "[məqsəd]"dirsə, bu ifadə doğrudurmu və ya təklif etdiyiniz bir düzəliş varmı? Həmçinin zaman dövrünün təsirinə diqqət yetirin.
Zəif məlumat / Güclü göstəriş
Zəif çağırış:
Mənə jurnalı təmizləyən bir skript yazın.
Bu xəbərdarlıq təhlükəlidir: hansı OS, hansı kataloq, hansı yaş həddi, hansı təhlükəsizlik qoruyucusu olduğu aydın deyil. Süni intellekt tək laynerli, dağıdıcı və yoxlanılmaz rm təqdim edə bilər.
Güclü göstəriş:
Rolunuz: baş Linux avtomatlaşdırma mühəndisi. Ubuntu 22.04 / Bash üçün log təmizləmə skripti yazın. Yalnız /opt/app/logs altında 30 gündən köhnə .log fayllarını silin. Qaydalar: set -euo pipefail; BACKUP_DIR və LOG_DIR dəyişənlərini doğrulayın (boşdursa dayandırın); silmədən əvvəl log faylı siyahısı; DRY_RUN=true defolt, faktiki silinmə yalnız --apply; İdempotent olsun. Dağıdıcı xətləri qeyd edin və sınamalı olduğum 3 ssenari yazın.
xüsusiyyət
Zəif/sürətli skript
sərtləşdirilmiş skript
Xəta ilə işləmə
Xeyr, səssiz uğursuzluq
set -euo pipefail, cəhd edin/tutun
dağıdıcı fəaliyyət
Birbaşa işləyir
Quru qaçış + açıq yoxlama bayrağı
Yenidən başladın
zərər verə bilər
İdempotent, təhlükəsiz
gizli idarəçilik
sərt kodlu
Dəyişən/gizli giriş
ləğv edin
Heç biri
Yedəkləmə + bərpa addımı
Ümumi səhvlər
- Quru qaçış olmadan dağıdıcı skriptin işlədilməsi. Quru rejimdə ilk olaraq rm, Remove-Item, DROP olan skriptin görünməməsi diskə xərclənir.
- Null dəyişən yoxlanışını keçin. Boş yol dəyişəni / ehtiyat nüsxələrinin yerinə / edir; : "${VAR:?}" ilə doğruladığınızdan əmin olun.
- İdepotentliyi unutmaq. Skript iki dəfə işə salındıqda pozulur, bu da avtomatlaşdırmanı etibarsız edir.
- Sərt kodlaşdırma sirləri. Şifrəni və açarı skriptə yazmaq həmin skripti paylaşdığınız zaman sızmadır.
- İstehsalda sınaq. İstehsalda ilk qaçışı etmək səhnədə məşq etmək deməkdir; əvvəlcə maşını sınaqdan keçirin.
Diqqət: Süni intellekt tərəfindən verilən skripti sadəcə "işlədi, yəni düzgündür" deyə qəbul etməyin. İşlədiyi üçün onun dağıdıcı olmadığı demək deyil. Skript xoşbəxt yolda işləyə və kənar vəziyyətdə məlumatları silə bilər; Əsl sınaq kənar vəziyyətlərdir.
Xülasə
Avtomatlaşdırma skriptləri təkrarı aradan qaldırır və insan səhvini azaldır; Süni intellekt bu skriptləri yaratmaqda, izah etməkdə və sərtləşdirməkdə inanılmaz dərəcədə sürətlidir. Amma skript işçi qüvvədir: səhvdirsə, silir, dayandırır, kəsir. Beləliklə, "istehsal et, sərtləşdir, yoxla" dövrü qurun. Hər bir dağıdıcı skriptdə səhvlərin idarə edilməsi, qeyri-müəyyənlik, quru işləmə və geri qaytarma daxil edin. Dəyişən üçün sirləri çıxarın, test maşınında ilk işə salın. AI skripti yazır; Onu oxumaq, sınaqdan keçirmək və onu idarə etmək üçün məsuliyyət götürmək sizin işinizdir.
Tətbiq tapşırığı
İşinizdə əl ilə təkrarladığınız tapşırığı seçin (məsələn, jurnalın təmizlənməsi, istifadəçinin açılması, sağlamlıq yoxlanışı). Yuxarıdakı “Secure Bash skripti” və ya “PowerShell təhlükəsiz avtomatlaşdırma” şablonu ilə AI-dən kontur tələb edin. Yaradılmış skripti sətir-sətir oxuyun və dağıdıcı xətləri qeyd edin. Əvvəlcə test maşınında quru işləmə rejimində işə salın, nəticəni gözlədiyinizlə müqayisə edin. Sonra skripti AI-yə qaytarın və onu "bərk" şablonu ilə təkmilləşdirin və iki versiya arasındakı 5 fərqi qeyd edin.
yoxlama siyahısı
- [ ] Mən sorğuya ƏS, qabıq versiyası, yollar və hüquqlar kimi məhdudiyyətləri daxil etmişəmmi?
- [ ] Skript set -euo pipefail / $ErrorActionPreference='Stop' ilə xətaya dözürmü?
- [ ] Quru qaçış/-WhatIf arxasında dağıdıcı əməliyyatlar varmı və açıq yoxlama bayrağı tələb olunur?
- [ ] Skript idempotentdirmi (ikinci işdə təhlükəsizdir)?
- [ ] Mən sirləri sərt kodlaşdırmaq əvəzinə dəyişən/gizli girişə çıxarmışammı?
- [ ] Mən sınaq maşınında ilk qaçışı etdim və geri qayıtma planı hazırladım?