NOC online · 24/7Longview, TX · +1 323 412 0665
KinetikatechServers · Security · Websites
GA

Orduithe Linux & Scileanna Bhlaosc

Bash Scripting: Ó 'oibreacha ar mo bhosca' go Táirgeadh

Tuilleann Bash a sliotán nuair a bhíonn tasc gliú: orduithe a chur i bhfeidhm, téacs simplí a throid, agus fanacht go hiomlán ar an mbosca. Tagann a cháil sa tionscal ón tuirlingt, ní ón smaoineamh: seoltar píblínte neamhthástáilte isteach i cron ar fhreastalaí áit a raibh athróg amháin gan socrú nó áit a raibh spás ag ainm comhaid amháin. Tá an smacht meicniúil agus saor, agus tá ceithre chuid ann: modh dian, athfhriotail, seiceáil bhlaosc, agus logáil an bealach a léifidh comharchumainn é níos déanaí.

Príomhphointí

  • Osclaíonn gach script thromchúiseach le sraith -euo pipefail: teipeann ar athróga neamhshocraithe, stopann teipeanna ordaithe an script, luíonn an phíblíne dromchla; gan é, téann earráidí go ciúin go dtí go sroicheann siad táirgeadh.
  • Athróga athfhriotail agus ionaid orduithe: "$var" agus "$(cmd)"; Is é scoilteadh focal ar spásanna an clasaiceach uile-aimseartha, agus is fabht é fiddling an IFS a mholann roinnt suíomhanna a bhfuil tú ag cuimhneamh air.
  • Tarlaíonn leathnú brace roimh athróga: rm -rf "${CLEANUP:?}"/{a,b} le neamhshocrú CLEANUP leathnaíonn sé ar bhealach difriúil ná mar a bhí beartaithe agus baintear rudaí a bhí beartaithe agat a choinneáil; Is fiú ${VAR:?} seiceáil an idiom rm-sábháilteachta a fhoghlaim uair amháin.
  • Tuilleann shellcheck a áit ar gach athrú: glacann sé cruinneoga neamhluaite, cód dorochtana, agus patrúin 'le haghaidh f in $(ls)' a itheann comhadainmneacha le spásanna; rith sé i CI agus ní shroicheann na fabhtanna cron.
  • Déantar obair phéireála agus glantacháin a phéireáil: TMP=$(mktemp -d), gaiste 'rm -rf "$TMP"' EXIT, agus níl aon sceitheanna dílleachtaithe móide gan aon spriongaí 'más earráid ansin bain' ar gach brainse.
  • Léigh lúba ar an mbealach sábháilte: agus láimhseálann IFS= read -r -d '' f comhaidainmneacha le línte nua agus spásanna trí find -print0; Is é 'for f in $(ls)' na bratacha seiceála fabhtanna agus na sean-scripteanna i ngach áit fós ar iompar.
  • Labhraíonn cóid scoir agus logaí le comharchumainn: teipeanna macalla ar stderr (>&2) le hainm stáitse, scoir nonzero ar theip iarbhír, agus lig do phost cron nó dialann an líne amháin atá uait a thaispeáint duit ag 3 a.m.
  • Ardaigh go luath: parsáil JSON, leibhéil neadaithe faoi thrí, glaonna HTTP, nó aon loighic stáit i Python nó awk; is í bash lúbtha isteach i dteanga ilfhóinteach an áit ar baineadh cáil amach di.

Nóta allamuigh

Leathnaigh ár scar brace-leathnú: rm -rf "${CLEANUP}"/{a,b} le CLEANUP unset go díreach mar a theastaigh ón sceall, ní an rún. Tá an garda ${VAR:?} ar gach cosán mar sin anois, agus níor íoc aon duine an bille sin faoi dhó.

Ceisteanna coitianta

#!/bin/bash nó #!/usr/bin/env bash?

buaigh env trasna coimeádáin agus suiteálacha macOS áit a bhfuil bash ina chónaí in áiteanna eile; is lú an tábhacht a bhaineann leis an shebang ná an teip socraithe -euo pipefail a bheith i láthair agus seiceálaí blaosc a chur ar aghaidh gach athrú.

Oibríonn mo script de láimh ach teipeann air in cron. Cén fáth?

Ritheann Cron le timpeallacht lom: tá PATH gearr, níl aon phróifíl logáil isteach ann, agus pointe cosáin choibhneasta ag an teach mícheart. Bain úsáid as cosáin iomlána, socraigh PATH go sainráite, agus coinnigh bash -x replay le haghaidh dífhabhtaithe.

Bash nó Python le haghaidh tascanna freastalaí?

Bash do phíblínte a threoraíonn uirlisí córais atá ann cheana féin den chuid is mó agus a fhanann beag; Python le haghaidh sonraí struchtúrtha, APInna, agus láimhseáil earráidí a chaithfidh maireachtáil ar ghlao-dhualgas. Iallach a chur ar bash Python a imirt is é an chaoi a bhfaigheann teagmhais ainmneacha.

Conas a scriosaim script go sábháilte?

Luaigh gach athróg, dírigh ar chonairí mktemp-tháirgthe amháin nó cosáin atá cumraithe go sainráite, rith le mód tirim-rith a phriontálann cad a bhainfeadh sé, agus lig do gharda ${VAR:?} athróga a dhíshuiteáil sula bhfeiceann rm iad.

Conas a chabhraíonn Kinetikatech le orduithe linux & scileanna bhlaosc

Rinneadh sin na céadta uair againn: Na horduithe agus na nósanna scriptithe a chinneann an n-oibríonn riarthóir freastalaí nó an ndéanann sé troid: cuardach, claochlú, aistriú, agus maoirsiú a dhéanamh ar théacs agus ar phróisis leis na huirlisí a chónaíonn i ngach bonn a shuiteáil. Le Slándáil Freastalaithe Linux agus Bainistíocht Freastalaithe faigheann tú an lúb iomlán: déanaimid measúnú, cuirimid i bhfeidhm, leanaimid gan stad agus idirghabhaimid laistigh de 30 nóiméad nuair is gá.

Labhair le hinnealtóir

Fadhb ar an freastalaí? Suíomh hackáilte? Luchtú mall?

Solúfar fadhbanna criticiúla laistigh de 30 nóiméad — gan stad, 7 lá sa tseachtain.

Iarr tacaíocht éigeandála support@kinetikatech.com