ትርፍ፡
- ግልጽ ገደቦች እና የአርቴፊሻል ኢንተለጀንስ ያላቸው የ Bash፣ PowerShell እና Python አውቶሜሽን ስክሪፕቶችን የማምረት ችሎታ።
- እንደ ራስን አቅም፣ ደረቅ ሩጫ፣ የስህተት አያያዝ እና ወደ እያንዳንዱ ስክሪፕት መመለስ ያሉ መርሆችን የመጨመር ችሎታ እና 'ማመንጨት፣ ማጠንከር፣ ማረጋገጥ' ዑደቱን ተግባራዊ ማድረግ።
- የተቀረፀው ስክሪፕት አፈፃፀም ደህንነቱ የተጠበቀ ነው ማለት እንዳልሆነ የመረዳት ችሎታ እና አጥፊ መስመሮችን በማንበብ እና በመሞከር ሀላፊነትን የመውሰድ ልምድን ለማግኘት።
ራስ-ሰር ስክሪፕቶች፡ Bashን፣ PowerShellን እና Pythonን ደህንነቱ በተጠበቀ ሁኔታ በ AI መፍጠር
የስርዓት አስተዳዳሪው በጣም መጥፎው ጠላት ተደጋጋሚ የእጅ ሥራ ነው፡ ከእያንዳንዱ ማሽን ጋር መገናኘት እና ምዝግብ ማስታወሻዎችን ማጽዳት, ተመሳሳዩን ተጠቃሚ በሃያ ሰርቨሮች መክፈት, በየቀኑ ጠዋት ተመሳሳይ የጤና ምርመራ ማድረግ. ይህ መደጋገም ለጊዜ እና ለሰው ስህተት ክፍት ነው። አውቶሜሽን ስክሪፕት እነዚህን ድግግሞሾች ወደ ኮምፒዩተር የሚያቀርብ ትንሽ ፕሮግራም ነው - ብዙ ጊዜ የሚፃፈው በሊኑክስ አለም ውስጥ በባሽ (ሼል ትዕዛዝ ቋንቋ)፣ ፓወር ሼል (የማይክሮሶፍት አውቶሜሽን ሼል) በዊንዶውስ አለም እና ፓይዘን ለሚሰራ ከመድረክ ነፃ ስራ ነው። AI የእነዚህን ስክሪፕቶች የመጀመሪያ ረቂቅ በማዘጋጀት፣ በማብራራት እና በማሻሻል በሚያስደንቅ ሁኔታ ፈጣን ነው። ነገር ግን ስክሪፕቱ ጽሑፍ አይደለም, በእርስዎ ስርዓት ውስጥ የሚሰራ ኃይል ነው; ከኤክሴል ፎርሙላ በተለየ መልኩ የተሳሳተ ከሆነ ፋይሉን ይሰርዛል፣ አገልግሎቱን ያቆማል እና መዳረሻን ይቆርጣል። ለዚህ ነው የዚህ ክፍል ተስፋ፡- AI ስክሪፕቱን ይጽፋል፣ አንብቡት፣ ፈትኑት እና ሀላፊነቱን ወስዶ ያሂዱት።
በዚህ ክፍል ውስጥ፣ በ AI ጋር ደህንነቱ የተጠበቀ፣ ሊነበቡ እና ሊመለሱ የሚችሉ ስክሪፕቶችን እንዴት ማምረት እንደሚችሉ ይማራሉ፤ ሕይወትን የማዳን መርሆዎች እንደ ኢዲፖታቲ (ተመሳሳይ ስክሪፕት ሁለት ጊዜ መሮጥ ጉዳት አያስከትልም) እና ደረቅ ሩጫ; እና አንድ ስክሪፕት ወደ ምርት ከማስገባትዎ በፊት ማለፍ ያለባቸውን ቼኮች ይማራሉ.
ከ AI ጋር መፃፍ በጣም ኃይለኛ የሆነው ለምንድነው?
ልምድ ያለው አስተዳዳሪ እንኳን የ Bash loop ትክክለኛ አገባብ፣ የPowerShell cmdlet (command) ወይም Python try/ከልብ ካልሆነ በስተቀር መለኪያዎች ላያውቁ ይችላሉ። AI ይህንን ክፍተት በቅጽበት ይሞላል፡ ሀሳቡን በቱርክ ቋንቋ ያብራራሉ እና የስራ ሂደትን ይፈጥራል። በተጨማሪም ፣ አሁን ያለውን ስክሪፕት ለ AI መስጠት እና “ይህን አብራራ” ፣ “የስህተት አያያዝን ጨምር” ፣ “በይበልጥ የሚነበብ ያድርጉት” ይበሉ። ይህ የመማሪያውን ኩርባ ያሳጥረዋል እና ጁኒየር ቡድን አባላትን ወደ ፍጥነት ያመጣል።
ከስልጣን ጋር ግን ሃላፊነት ይመጣል። ብዙ ጊዜ በ AI የተፈጠረ ስክሪፕት "ደስተኛ መንገድ" በትክክል ይጽፋል (ሁሉም ነገር ደህና ከሆነ); ነገር ግን የጠርዝ ጉዳዮችን ሊያመልጥ ይችላል (ፋይል ይጎድላል, ዲስክ ሙሉ, አውታረ መረብ ወደ ታች) ወይም አደገኛ ግምቶችን ሊያደርግ ይችላል. ስለዚህ ከ AI ጋር ስክሪፕት ማመንጨትን በሶስት ደረጃዎች ያስቡ፡ ማመንጨት፣ ማጠንከር፣ ማረጋገጥ።
ደረጃ በደረጃ፡ ደህንነቱ የተጠበቀ የስክሪፕት ማመንጨት
- ዓላማውን እና እገዳውን በግልፅ ይፃፉ. የትኛው ስርዓተ ክወና፣ የትኛው የሼል ስሪት፣ የፋይል ዱካዎች፣ ምን መብቶች? እንደ "Ubuntu 22.04, Bash 5, sudo not root, በ /opt/app/logs" ስር ብቻ አሂድ። አሻሚ ፍላጎት አደገኛ ግምት ይፈጥራል።
- የደህንነት መስመሮችን ይጠይቁ. ስክሪፕቱን "በመሳካት ማቆም" (set -euo pipefail in Bash) ፣ አጥፊ ስራዎችን ለማረጋገጥ ፣ ከስራ በፊት ምትኬ እና ደረቅ አሂድ ሁነታን ይጠይቁ። እነዚህ የጥበቃ መስመሮች AI ያልፋል ይላል።
- ኃይለኛ ጻፍ። ስክሪፕቱ ለሁለተኛ ጊዜ ሲሮጥ ምንም አይነት ስህተት ወይም ጉዳት ማምጣት የለበትም። “ተጠቃሚው ካለ ዝለል”፣ “የማይኖረው ከሆነ ፍጠር፣ ካለ አይንካው” የሚል አመክንዮ ይመሰርቱ። ይህ አውቶማቲክ ደህንነቱ በተጠበቀ ሁኔታ ደጋግሞ እንዲሰራ ያስችለዋል።
- አንብብ እና ተረዳ። የተሰራውን እያንዳንዱን መስመር ያንብቡ። አይአይ አጥፊ ትዕዛዞችን (rm, Remove-Item, DROP)ን ለብቻው እንዲያመለክት ይጠይቁ።
- በደረቅ ሩጫ ይሞክሩ። በመጀመሪያ ከትክክለኛ ስራዎች ይልቅ "ምን ማድረግ እንዳለብዎት" ሁነታን ያሂዱት. ውጤቱ እርስዎ የሚጠብቁት ከሆነ ወደ እውነተኛ ሁነታ ይቀይሩ - እና በመጀመሪያ በሙከራ ማሽኑ ላይ።
- መመለሻዎን ያዘጋጁ። ስክሪፕቱ ምትኬዎችን ይወስዳል? ምትኬን እንዴት ወደነበረበት መመለስ እንደሚችሉ ያውቃሉ? ምዝግብ ማስታወሻ አለ ፣ በኋላ ምን እንደሚሰራ ማየት ይችላሉ?
ጠቃሚ ምክር፡ እያንዳንዱ አጥፊ ስክሪፕት DRY_RUN=እውነተኛ ተለዋዋጭ እና --apply ባንዲራ እንዲያካትት ያድርጉ። ነባሪ ባህሪ ምንም ነገር ሳይሰርዝ ምን እንደሚሆን መጻፍ ነው; ትክክለኛው ስረዛ እንዲሰራ - ማመልከት በግልፅ ከተሰጠ ብቻ ይስራ። ይህ አንድ ልማድ በሙያ ጊዜ የሚቆዩ አደጋዎችን ይከላከላል።
ሶስት ጥቃቅን ጉዳዮች
ጉዳይ 1 - አለመቻል ለ 3 ሰዓታት ተቀምጧል። አንድ አስተዳዳሪ ተመሳሳይ የክትትል ወኪል በ25 አገልጋዮች ላይ የጫነ ስክሪፕት ጽፏል። የመጀመሪያው ስሪት በቂ አቅም ያለው አልነበረም፡ ወኪሉ አስቀድሞ ከተጫነ በሁለተኛው ሩጫ ላይ ያለውን ውቅረት ሰበረ። መሐንዲሱ AI ‹መጫኑን ያረጋግጡ ፣ ካለ ይዝለሉት› የሚል ሎጂክ ጨምረው ነበር። በሚቀጥለው የጥገና መስኮት ስክሪፕቱ በአጋጣሚ ሁለት ጊዜ ቀስቅሷል ነገር ግን ምንም ጉዳት አላደረሰም. አለመቻል ባለ 25 አገልጋይ መልሶ ማግኘትን አላስፈላጊ አድርጎታል።
ጉዳይ 2 — በደረቅ አሂድ ስርወ ማውጫ ተቀምጧል። አንድ ቡድን የድሮ ምትኬዎችን የሚያጸዳ የBash ስክሪፕት ተቀብሏል። ተለዋዋጭው ባዶ ከሆነ መንገዱ / በምትኬ / ምትኬ / - የተለመደ አደጋ ሆነ። መሐንዲሱ መጀመሪያ በDRY_RUN ሞድ አስሮጠው፣ በውጤቱ ውስጥ ከrm -rf/ ጋር የሚመሳሰል መስመር ሲያይ ቀዘቀዘ፣ እና ተለዋዋጭ ቼክ ("${BACKUP_DIR:? ባዶ ሊሆን አይችልም}") ጨምሯል። ደረቅ ሩጫ ወደ ምርት ከመግባቱ በፊት ሙሉውን ዲስክ የሚያጸዳው ስህተት ያዘ።
ጉዳይ 3 - የስህተት አስተዳደር አንድ ሌሊት ከእንቅልፉ እንዳይነቃ ከልክሎታል። የPowerShell ስክሪፕት ዲስኩ ሲሞላ መዝገቦችን በማስቀመጥ ላይ ነበር። የአውታረመረብ መጋራት ተደራሽ ካልሆነ እና ዲስኩን መሙላት ከቀጠለ የመጀመሪያው ስሪት በፀጥታ አይሳካም። "በእያንዳንዱ እርምጃ ስኬትን ያረጋግጡ፣ ካልተሳካ ኢሜል ያሳውቁ እና ያቁሙ" ወደ AI ታክሏል። ከአንድ ሳምንት በኋላ ልጥፉ ተሰብሯል; ስክሪፕቱ ቆሞ አስጠንቅቋል, ዲስኩ አልሞላም, ከጠዋቱ 3 ሰዓት ላይ ማንም አልነቃም.
አራት ሊገለበጡ የሚችሉ አብነቶች
1) ደህንነቱ የተጠበቀ የባሽ ስክሪፕት ማመንጨት
የእርስዎ ሚና፡ ከፍተኛ የሊኑክስ አውቶሜሽን መሐንዲስ። ለኡቡንቱ 22.04 ስክሪፕት ይጻፉ / Bash 5. ዓላማ፡[ዓላማ]። ደንቦች፡- በ"set -euo pipefail" ጀምር - የሚፈለጉትን ተለዋዋጮች በ": ${VAR:?}" ያረጋግጡ.- አጥፊ ስራዎችን በነባሪ DRY_RUN=እውነተኛ; ትክክለኛው መተግበሪያ በ --apply ባንዲራ ብቻ እንዲሄድ ይፍቀዱ። - እያንዳንዱን እርምጃ ወደ stdout ይመዝገቡ ፣ በስህተት ላይ ትርጉም ባለው መልእክት ያቁሙ። - ጠንካራ ያድርጉት (በሁለተኛው ሩጫ ላይ ጉዳት እንዳያደርስ)። ከዚያም: ሊበላሹ የሚችሉትን መስመሮች ለይተው ምልክት ያድርጉ እና ከማምረትዎ በፊት መሞከር ያለብኝን 3 ጉዳዮችን ይፃፉ።
2) ያለውን ስክሪፕት ማጠንከር;
የሚከተለውን ስክሪፕት ለምርት ያዘጋጃል፡ (1) የስህተት አያያዝ እና ምዝግብ ማስታወሻ መጨመር፣ (2) አቅም ያለው ማድረግ፣ (3) ከደረቅ ሩጫ ጀርባ አጥፊ ትዕዛዞችን ማስቀመጥ፣ (4) ጠንካራ ኮድ የተደረገባቸው መንገዶችን እና ምስጢሮችን ለተለዋዋጭ ያውጡ። የቀየሩትን እያንዳንዱን መስመር እና ለምን ባጭሩ ያብራሩ። ስክሪፕት፡ [ስክሪፕት]
3) PowerShell ደህንነቱ የተጠበቀ አውቶማቲክ;
የእርስዎ ሚና፡ የዊንዶውስ አውቶሜሽን ባለሙያ። የPowerShell 5.1 ተኳዃኝ ስክሪፕት ይፃፉ። ዓላማ፡ [ዓላማ]። ደንቦች፡- በ"$ErrorActionPreference='Stop'" ጀምር።- Add -WhatIf support to destructor cmdlets (ነባሪ WhatIf) - እያንዳንዱን ድርጊት በመሞከር/መያዝ፣ የመዝገብ ስህተት።- ምስክርነት ሃርድኮዲንግ; መለኪያ ወይም ደህንነቱ የተጠበቀ ግብዓት ይጠቀሙ። አጥፊ መስመሮችን ምልክት ያድርጉ እና የመቀልበስ ደረጃዎችን ይፃፉ።
4) ክሮን/መርሐግብር አገላለጽ መፍታት እና ማረጋገጥ፡-
የሚከተለውን የክሮን መግለጫ በቱርክኛ ያብራሩ እና የሚቀጥሉትን 3 የሩጫ ጊዜዎች ይፃፉ፡ [መግለጫ]እንዲሁም ግቤ "[ዓላማ]" ከሆነ ይህ አባባል ትክክል ነው ወይስ እርስዎ የሚጠቁሙት ማስተካከያ አለ? እንዲሁም የጊዜ ቆይታ ውጤቱን ያስተውሉ.
ደካማ ጥያቄ / ጠንካራ ጥያቄ
ደካማ ጥያቄ፡
መዝገቡን የሚያጸዳ ስክሪፕት ፃፉልኝ።
ይህ ጥያቄ አደገኛ ነው፡ የትኛው ስርዓተ ክወና፣ የትኛው ማውጫ፣ የትኛው የዕድሜ ገደብ፣ የትኛው የጥበቃ ጥበቃ እንደሆነ ግልጽ አይደለም። AI አንድ-መስመር፣ አጥፊ እና የማይረጋገጥ አርም ማቅረብ ይችላል።
ኃይለኛ ጥያቄ፡-
የእርስዎ ሚና፡ ከፍተኛ የሊኑክስ አውቶሜሽን መሐንዲስ። ለኡቡንቱ 22.04 / Bash የምዝግብ ማስታወሻ ማጽጃ ስክሪፕት ይጻፉ። ከ30 ቀናት በላይ የቆዩ የ.log ፋይሎችን በ /opt/app/logs ስር ብቻ ሰርዝ። ደንቦች: አዘጋጅ -euo pipefail; BACKUP_DIR እና LOG_DIR ተለዋዋጮችን ያረጋግጡ (ባዶ ከሆነ ያቁሙ)። የመዝገብ ፋይል ዝርዝር ከመሰረዝዎ በፊት; DRY_RUN=እውነት ነባሪው ይሁን፣ ትክክለኛው ስረዛ በ --apply; ኃይለኛ ይሁን። አጥፊ መስመሮቹን ምልክት ያድርጉ እና መሞከር ያለብኝን 3 ሁኔታዎችን ይፃፉ።
ባህሪ
ደካማ/ፈጣን ስክሪፕት።
የደነደነ ስክሪፕት
አያያዝ ላይ ስህተት
የለም፣ ጸጥ ያለ ውድቀት
set -euo pipefail፣ ይሞክሩ/ያዝ
አጥፊ ድርጊት
በቀጥታ ይሰራል
ደረቅ አሂድ + ክፍት የፍተሻ ባንዲራ
ዳግም አስጀምር
ጉዳት ሊያደርስ ይችላል
የማይመች ፣ አስተማማኝ
ሚስጥራዊ አስተዳደር
ሃርድ ኮድ
ተለዋዋጭ/የተደበቀ ግቤት
መቀልበስ
ምንም
ምትኬ + ወደነበረበት መመለስ ደረጃ
የተለመዱ ስህተቶች
- ያለ ደረቅ አሂድ አጥፊ ስክሪፕት በማሄድ ላይ። rm, Remove-Item, DROP የያዘውን ስክሪፕት አለማየት በመጀመሪያ በደረቅ ሁነታ ዲስክ ያስከፍላል።
- ባዶ ተለዋዋጭ ፍተሻን ይዝለሉ። ባዶ የመንገድ ተለዋዋጭ ያደርገዋል / በምትኬ / ምትኬ /; በ"${VAR:?}" ማረጋገጥዎን እርግጠኛ ይሁኑ።
- Idempotency መርሳት. ሁለት ጊዜ ሲሮጥ ስክሪፕቱ ይቋረጣል፣ ይህም አውቶማቲክን አስተማማኝ ያደርገዋል።
- የሃርድ ኮድ ምስጢሮች። የይለፍ ቃሉን እና ቁልፉን ወደ ስክሪፕቱ መፃፍ ያንን ስክሪፕት ሲያጋሩ ልቅነት ነው።
- በምርት ውስጥ መሞከር. በምርት ውስጥ የመጀመሪያውን ሩጫ ማድረግ ማለት በመድረክ ላይ ልምምድ ማድረግ; የሙከራ ማሽን መጀመሪያ።
ትኩረት፡- “ሰርቷል፣ ያ ማለት ትክክል ነው” ስላለ ብቻ በ AI የተሰጠን ስክሪፕት አትቀበሉ። ስለሰራ ብቻ አጥፊ አይደለም ማለት አይደለም። አንድ ስክሪፕት በአስደሳች መንገድ ላይ ሊሄድ እና በጫፍ ግዛት ውስጥ ያለውን ውሂብ መሰረዝ ይችላል; ትክክለኛው ፈተና የጠርዝ ጉዳዮች ነው.
በማጠቃለያው
አውቶማቲክ ስክሪፕቶች መደጋገምን ያስወግዳሉ እና የሰውን ስህተት ይቀንሳሉ; AI እነዚህን ስክሪፕቶች በማመንጨት፣ በማብራራት እና በማጠናከር በሚያስደንቅ ሁኔታ ፈጣን ነው። ግን ስክሪፕቱ የሚሰራ ሃይል ነው፡ ከተሳሳተ ይሰርዛል፣ ያቆማል፣ ያቋርጣል። ስለዚህ "ምርት, ማጠንከር, ማረጋገጥ" ዑደቱን ይመሰርቱ. በእያንዳንዱ አጥፊ ስክሪፕት ውስጥ የስህተት አያያዝን፣ አቅምን ማጣትን፣ ደረቅ ሩጫን እና መውደቅን ያካትቱ። ምስጢሮችን ወደ ተለዋዋጭ አውጣው, የመጀመሪያውን ሩጫ በሙከራ ማሽን ላይ ያድርጉ. AI ስክሪፕት ይጽፋል; እሱን ማንበብ፣ መፈተሽ እና እሱን ለማስኬድ ሃላፊነት መውሰድ የእናንተ ስራ ነው።
የመተግበሪያ ተግባር
በስራዎ ውስጥ እራስዎ የሚደግሙትን ተግባር ይምረጡ (ለምሳሌ ፣ ሎግ ማፅዳት ፣ የተጠቃሚ መክፈቻ ፣ የጤና ምርመራ)። ከላይ ባለው “Secure Bash script” ወይም “PowerShell ደህንነቱ የተጠበቀ አውቶሜሽን” አብነት ከ AI ዝርዝር ጠይቅ። የተፈጠረውን የስክሪፕት መስመር በመስመር ያንብቡ እና አጥፊ መስመሮቹን ምልክት ያድርጉ። በመጀመሪያ በሙከራ ማሽን ላይ በደረቅ አሂድ ሁነታ ያሂዱት፣ ውጤቱን ከምትጠብቁት ጋር ያወዳድሩ። ከዚያም ስክሪፕቱን ወደ AI ይመልሱ እና በ "ደረቅ" አብነት ያጥሩት እና በሁለቱ ስሪቶች መካከል ያሉትን 5 ልዩነቶች ያስተውሉ.
የማረጋገጫ ዝርዝር
- [ ] በጥያቄው ውስጥ እንደ ስርዓተ ክወና፣ የሼል ስሪት፣ ዱካዎች እና መብቶች ያሉ ገደቦችን አካትቻለሁ?
- [ ] ስክሪፕቱ ከ set -euo pipefail / $ErrorActionPreference='Stop' ጋር ጥፋትን ታጋሽ ነው?
- [ ] አጥፊ ክንዋኔዎች ከደረቅ አሂድ ጀርባ ናቸው/-ምን ከሆነ እና ግልጽ የሆነ የቼክ ባንዲራ ያስፈልገዋል?
- [] ስክሪፕቱ ኃይለኛ ነው (በሁለተኛው ሩጫ ላይ ደህንነቱ የተጠበቀ)?
- [ ] ሚስጥሮችን በሃርድ ኮድ ከማስቀመጥ ይልቅ ወደ ተለዋዋጭ/ሚስጥራዊ ግብአት አውጥቻለሁ?
- [ ] የመጀመሪያውን ሩጫ በሙከራ ማሽኑ ላይ ሰርቼ የመመለሻ እቅድ አዘጋጅቻለሁ?