Bash Script: Bandaleithid Tarchurtha a Rialú go huathoibríoch

Dia dhaoibh. Seo mo dara post. De ghnáth ní scríobhaim poist mura bhfuil rud éigin maith agam le roinnt agus an uair seo tá rud éigin agam a mbeidh suim ag go leor daoine ann.

Cúpla mí ó shin bhí mé ag smaoineamh ar script a dhéanamh chun bandaleithead na n-iarratas a theorannú, ach bhí roinnt fadhbanna agus earráidí agam a rinne sé deacair dom, agus mar sin d’ardaigh mé mo chuid amhras sa foro de <º FromLinux ar eagla go mbeadh smaoineamh ag éinne.

Mar sin d’fhág mé é ar feadh tamaill agus lá amháin shocraigh mé an script a atosú. Rinne mé go leor tástála, léigh mé go leor faoi bash, agus bhí tinneas cinn orm i mo chuid ama spártha, ach rinne mé é !!

Tá sástacht mhór agam agus mar sin shocraigh mé mo script bheag a roinnt leat ionas gur féidir leat é a úsáid agus a fheabhsú. Tá sé beartaithe agam é a cheadúnú faoi GPLv3, ach is é mo chéad tionscadal é agus mar sin nílim cinnte conas é seo a dhéanamh (teastaíonn comhairle uaim ó gach duine a rinne é roimhe seo).

Bhuel, anois míneoidh mé cad a bhí i mo riachtanas agus cad a rinne mé chun an fhadhb a réiteach.

Staid
Tá plean Idirlín de 512Kbs agam, mar sin úsáidim Tarchur mar chliant BitTorrent chun comhaid mhóra a íoslódáil (cosúil le LibreOffice agus roinnt distros GNU / Linux). Leis an luas sin tógann sé tamall fada ar na híoslódálacha agus is í an fhadhb atá ann agus an brabhsálaí gréasáin á úsáid Firefox: tógann sé tamall fada le luchtú.

Nuair a nascann mé leis an Idirlíon, gníomhaím na teorainneacha ama uaslódáil agus íoslódála tarchuir agus fanaim ar Firefox a luchtú, ansin na torrents a thosú arís. Mar a fheicfidh tú, tá sé seo tedious cúpla uair a dhéanamh. Gan trácht ar uaireanta cuirim sos iomlán ar na torrents agus ansin déanaim dearmad iad a ghníomhachtú arís, rud a fhágann go gcuirtear am luachmhar amú chun na torrents a uaslódáil / a íoslódáil.

Réiteach
Chinn mé ar an bhfadhb seo script Bash a chruthú a dhéanann an méid seo a leanas go bunúsach:

1. Seiceáil go bhfuil Tarchur ag rith agus nach bhfuil aon torrent ar sos. Más ea, cas na torrents ar ais.

2. Dearbhaigh go bhfuil Firefox ag rith. Ansin faigheann sé na KB / s a ​​sheolann agus a fhaigheann sé agus sábhálann sé iad i gcomhad.

3. Má sháraíonn an brabhsálaí KB / s uaslódáil nó íoslódáil, tagraítear na socruithe uaslódáil / íoslódála Tarchurtha.

Ligeann sé seo nuair a bhíonn sé ag iarraidh rochtain a fháil ar leathanach gréasáin, nuair a sheolann an brabhsálaí an iarraidh, tá uaslódáil an chomhaid tarchurtha teoranta agus nuair a fhaightear sonraí an leathanaigh, tá an íoslódáil teoranta. Oibríonn sé seo go hiontach agus tú ag teacht ar leathanaigh iolracha ag an am céanna agus tá na torthaí mar an gcéanna le Tarchur faoi mhíchumas.

Is é an buntáiste mór ná go bhfuil sé go hiomlán uathoibríoch agus nach dteastaíonn mo idirghabháil uaidh.

An script
Cé go bhféadfaí é a úsáid chun tomhaltas bandaleithid aon fheidhmchláir a rialú, i láthair na huaire níl sé scríofa ach chun fadhb an-áirithe a réiteach. Ach níl sé an-deacair modhnuithe a dhéanamh.

Riachtanais
Chun go n-oibreoidh sé i gceart is gá an feidhmchlár a bheith aige «nethogs'.

Sa chás seo, de réir mar a oibríonn an script le Firefox agus Transmission, is gá na feidhmchláir seo a shuiteáil, i dteannta le “tarchur-iargúlta” agus is é sin a athraíonn luachanna uaslódála agus íoslódála na torrents. Úsáidim sa script "awk" freisin. Déanaim é a lua mar níl a fhios agam an bhfuil na distros uile suiteáilte aige.

Bogearraí a úsáidtear
Liosta de na feidhmchláir a úsáideann an script agus an córas ina n-oibríonn sé.

• Debian GNU / Linux 6.0.8
• Linux 2.6.32-5-686
• Firefox 24.0
• Tarchur 2.03 (11030)
• Nethogs 0.7.0

Fhorghníomhú
Caithfear é a rith mar fhréamh mar gheall ar nethogs ní féidir é a rith ach leis an úsáideoir sin, ach tarchur-iargúlta déantar é a fhorghníomhú leis an ngnáthúsáideoir tríd an ordú a.

Úsáideann an script an t-ordú inmheánach Bash gaiste Is féidir luachanna réamhshocraithe an ualaigh tarchurtha a athbhunú / a dhíluchtú, nuair a stoptar é trí na comharthaí SIGINT (CTRL + c) nó SIGTERM.

Níl mé cinnte fós conas a dhéanamh chun é a rith ag am tosaithe agus stad nuair a dhúnfaidh mé síos nó a atosóidh mé an ríomhaire. Bhí mé ag smaoineamh ar nasc a chur sa chomhad /etc/rc.local ach níl a fhios agam an n-oibreodh sé, agus ní thuigim i ndáiríre conas / srl / a oibríonninit.d (Chonaic mé roinnt scripteanna atá ann, fiú creatlach, ach ní thuigim iad). Más féidir le duine ar bith cabhrú liom, beidh mé an-bhuíoch.

 

Bhuel folks, sin é. Tá súil agam go mbeidh mo dheontas beag úsáideach duit agus gur féidir leat é a fheabhsú más mian leat. Beidh mé sásta do thuairimí agus do mholtaí a léamh chomh maith le moltaí ar eagla go mbeadh fadhbanna slándála leis an gcomhad (ní ríomhchláraitheoir mé, ní dhéanaim ach cúpla rud ó am go ham).

Tá a fhios agam go bhféadfadh sé a bheith ina fheidhmchlár iontach amach anseo le roinnt socruithe, mar níl a fhios agam faoi aon chlár a dhéanann an rud céanna. Mar shampla feictear dom go bhféadfainn comhéadan grafach a bheith agam i zenity agus a bheith in ann na feidhmchláir a theastaíonn uainn a chur in ord tosaíochta in úsáid bandaleithid (brabhsálaí gréasáin, bainisteoir nuashonraithe, aistriú comhad, srl.) agus na luachanna tagartha éagsúla. Sea, tá sé uaillmhianach ach úsáideach go leor.

Is féidir leat an script a íoslódáil sa pasta. Go raibh maith agat an méid sin as léamh !!


Cloíonn ábhar an ailt lenár bprionsabail eitic eagarthóireachta. Chun earráid a thuairisciú cliceáil anseo.

23 trácht, fág mise

Fág do thrácht

Ní thabharfar do sheoladh r-phoist a fhoilsiú. Réimsí riachtanacha atá marcáilte le *

*

*

  1. Freagrach as na sonraí: Miguel Ángel Gatón
  2. Cuspóir na sonraí: SPAM a rialú, bainistíocht trácht.
  3. Legitimation: Do thoiliú
  4. Na sonraí a chur in iúl: Ní chuirfear na sonraí in iúl do thríú páirtithe ach amháin trí oibleagáid dhlíthiúil.
  5. Stóráil sonraí: Bunachar sonraí arna óstáil ag Occentus Networks (EU)
  6. Cearta: Tráth ar bith is féidir leat do chuid faisnéise a theorannú, a aisghabháil agus a scriosadh.

  1.   elav a dúirt

    Ó! Suimiúil 😀

    1.    eliotime3000 a dúirt

      Sa chúinne íochtarach ar chlé tá an rogha agat an bandaleithead a úsáideann Tarchur a theorannú agus é á uaslódáil agus á íoslódáil. Ní raibh aon fhadhb agam leis an Tarchur.

      1.    fianán a dúirt

        Ach tá sé seo uathoibríoch, agus tá Tarchur ann freisin gan comhéadan grafach agus mar sin b’fhéidir nach mbeidh an fheidhm sin agat chomh gar do láimh.

      2.    Joaquin a dúirt

        Dia duit, conas atá tú.
        Sea tá a fhios agam cheana féin. Ach sin é go díreach nach bhfuil mé ag iarraidh a dhéanamh.
        Tá plean idirlín an-lag agam (512KB agus tá sé ar an gceann is fearr i mo cheantar).

        Le mo script, níl imní orm gach rud a dhéanamh de láimh. Samhlaigh go n-osclaíonn tú leathanach sa bhrabhsálaí agus go bhfuil an bandaleithead go léir ag Transmission ag an nóiméad sin, mar sin tógann sé tamall an leathanach a luchtú (1 ′ ar a mhéad, ach tá sé corraitheach). Déanaim le "teorainneacha ama a ghníomhachtú" gach dhá nóiméad. Tá sé seo uathoibríoch agus beagnach ar an toirt (seiceálann sé an KB a sheolann agus a fhaigheann Firefox gach 5 soicind).

        Tá sé ar fheabhas i mo chás leis an luas idirlín sin. Chomh maith leis sin níl a fhios agam faoi fheidhmchlár eile a dhéanann é seo, murach sin ní bheadh ​​sé déanta. Ní chuireann na cinn a chonaic mé ach bandaleithead, ach ní go huathoibríoch.

        Tá súil agam go raibh mé soiléir. Go raibh maith agat as léamh!

        1.    Joaquin a dúirt

          Tá brón orm, bhí mé mícheart. Ní 512KB iad, ach is Kbits iad. (Is é sin, 1/2 "Mega"). Is é an t-uasmhéid is féidir liom a íoslódáil ná 75KB / s agus uaslódáil 50KB / s. Is é sin nuair a bhíonn an tIdirlíon breá, ar shlí eile is é 48 agus 23 an gnáth.

    2.    Joaquin a dúirt

      Go raibh maith agat!

  2.   fianán a dúirt

    Suimiúil, úsáidim qBittorrent agus úsáidim an lasc le haghaidh teorainneacha.

    Breathnaíonn an post go deas leis na dathanna sin 😉

    1.    Joaquin a dúirt

      Go raibh maith agat as na dathanna. Nílim an-mhaith air, is cosúil go bhfuil sé an-fhada agus aonchineálach leis an oiread sin téacs.

  3.   Jorge a dúirt

    Go pearsanta, úsáidim deamhan tarchuir agus firefox le cluaisín feidhmchláir bheo, mar sin ní théim timpeall le cláir sheachtracha ná déanaim dearmad leanúint leis na torrents nó an turtar gníomhachtaithe (agus is féidir liom é a rialú ó mo ghuthán). Chun seirbhís a thosú, cuir úsáideoir leis (m.sh .: addeth -disabled-password nethogs), cruthaigh comhad téacs don deamhan in /etc/init.d le hainm (m.sh .: nethogs-deamhan) agus ansin i gcineál debian "nuashonrú -rc.d mainneachtainí nethogs-deamhan "ionas go dtosóidh sé leis féin.

    Is script bash é an comhad téacs freisin, ar féidir leat do script a chumasc leis.
    Féach an féidir leis seo cabhrú leat, is féidir é a úsáid chun deamhan tarchuir a thosú, is féidir é a úsáid chun nethogs a thosú https://trac.transmissionbt.com/wiki/Scripts/initd

    1.    Joaquin a dúirt

      Dia duit!
      A ligean ar a fheiceáil má thuigim: tá sé seo chun Tarchur a thosú ag am tosaithe agus é a stopadh agus é ag stopadh nó ag atosú. Leis sin níl aon fhadhbanna agam ós rud é go dtosaíonn sé leis féin i gcónaí agus go dtosaíonn sé á íoslódáil (chuir mé leis na feidhmchláir ag am tosaithe i Xfce).

      Is í an fhadhb atá agam ná má chuirim an script i rc.local nó i init.d níl a fhios agam conas a stopann an ríomhaire an script. Is é sin, ar ndóigh nuair a dhéantar an ríomhaire a dhúnadh / a atosú, cuirtear deireadh leis na próisis go léir (agus Tarchur agus Nethogs leo freisin) ach níl a fhios agam cad a tharlódh do mo script.

      Agus cén fáth go gcuireann sé sin isteach orm? Cruthaíonn an script comhad in / tmp agus rialaíonn sé luas an Tarchurtha. Má rithim é i gcríochfort agus má stopann mé go tobann é (mar shampla le CTRL + c), déanann an script sula ndúnann sé na luasanna réamhshocraithe a athshlánú (ar eagla go mbeadh gá leis) agus ansin stadann sé Nethogs agus scriosann sé an comhad ó / tmp. Rinne mé iarracht é a dhéanamh chomh “gairmiúil” agus is féidir ionas nach bhfágfaidh sé aon chomhaid scaoilte nó próisis chúlra.

      Maidir leis an méid a dúirt tú, níor thuig mé cad is “cluaisín feidhmchláir bheo” ann.

      1.    Jorge a dúirt

        Is cluaisín buan é cluaisín feidhmchláir, tá sé oscailte agus íoslaghdaithe i gcónaí laistigh de firefox http://i.imgur.com/a5i0aP3.png (roghchlár comhthéacsúil ar an táb, cliceáil ar «greamaigh cluaisín»). Nuair a sheolann na deamhan comhartha TÉARMAÍ fanann siad tamall, go dtí tar éis dóibh seisiún dúnta, agus sábhálann siad a gcuid sonraí. Tabhair faoi deara, sa nasc a thug mé roimhe seo agus mé ag fágáil na scripteanna go dtosaíonn deamhan stad-stad agus go ndeir sé leis an tarchur a stopadh, d’fhéadfá “killall nethogs” a ghreamú agus a bhfuil StopScript ann. An script tosaigh sa chás seo chaithfeá é a ghlaoch mar fhréamh in ionad úsáideora ar leith, ós rud é go bhfuil pribhléidí de dhíth air.

        1.    Joaquin a dúirt

          Bhuel go raibh maith agat as an leid. Chomh luath agus a bheidh am agam bainfidh mé triail as!

  4.   facundo a dúirt

    go hiontach, tháinig mé trasna ar an míchaoithiúlacht seo ós rud é fiú má tá nasc gasta agat tá iallach ort tarchur a theorannú agus tú ag iarraidh brabhsáil agus dá bhrí sin am a “chur amú”.
    Táim chun triail a bhaint as nuair is féidir liom. Beannachtaí agus go raibh maith agat !!

    1.    Joaquin a dúirt

      Go raibh maith agat! Tá súil agam go gcabhróidh sé seo leat!

      1.    Facundo a dúirt

        Dia duit arís Joaquin. Feicim go bhfuil tú ag tabhairt aire do na tráchtanna go léir a fhreagairt agus mar sin táim chun leas a bhaint as sin agus táim chun cúpla ceist rookie a chur ort.
        Ar dtús, cén chaoi a mbeidh a fhios agam an bhfuil an script "awk" suiteáilte agam? Úsáidim Debian 7.2.
        Sa dara háit, níl a fhios agam cad atá le déanamh leis an gcód greamaigh. Caithfidh mé eagarthóir téacs a thapú agus é a shábháil ar chomhad darb ainm "bandwidth-controller.sh" agus ansin é a rith mar "./band-width-control.sh". Seo an chuid is mó a bhfuilim caillte.
        Tríú: Nuair a deir tú é a rith mar fhréamh, an gá athrú ó úsáideoir go fréamh nó le sudo an ea?

        Má tá aon léamh agat chun mé a mholadh ar an ábhar, is mór agam é.
        Beannachtaí!

  5.   Giskard a dúirt

    Sin an fáth go ndéanaim Tarchur a dhíshuiteáil i gcónaí agus Deluge a shuiteáil. Bhuel, chuige sin agus beagán níos mó rudaí a thairgeann Deluge dom nach dtugann an ceann eile.

    1.    Joaquin a dúirt

      Dia duit, níl a fhios agam Deluge. Is í an fhadhb is mó atá agam ná an tseirbhís idirlín. Leis seo brúim é go hiomlán.

  6.   panda a dúirt

    Haigh. tá mo bandaleithead teoranta freisin agus mar sin bhain mé triail as an script seo. Ach níl sé ag obair. is cosúil go bhfuil an earráid san ordú nethogs -t. cuireann sé an earráid ar ais "Ag fanacht go dtiocfaidh an chéad phaicéad (féach fabht sourceforge.net 1019381)" agus bhain mé triail as mint, archlinux agus rud ar bith. Cad é atá i gceist leis an ordú sin a thabhairt ar ais? Is dócha gur chóir dom an bandaleithead a úsáideann gach feidhmchlár a phriontáil i ngnáth-théacs. An bhfuil aithne agat ar chlár eile a ligeann duit éisteacht leis an líonra?

    1.    Joaquin a dúirt

      Dia duit, conas atá tú.
      Is fabht Nethogs é sin. Feictear dom freisin, ach oibríonn sé ar aon nós.

      Taispeánann an rud a dhéanann Nethogs na próisis a itheann an bandaleithead is mó, i bhfíor-am. Sa script, sábhálfar a aschur i gcomhad téacs "net.list", ionas gur féidir é a scagadh níos déanaí.

      Ní oibríonn an script ach le Transmission (cliant BitTorrent) agus Firefox (brabhsálaí gréasáin). Is é a dhéanann sé ná bandaleithead Transmission a theorannú nuair a bhíonn Firefox ag luchtú leathanach gréasáin. Ní mór duit: Nethogs, Transmission, Transmission-remote agus Firefox a shuiteáil.

      Mínítear é ar fad sa phost, mar sin níl a fhios agam cén fhadhb atá agat.

      PS: Scríobh i gceart le do thoil agus feabhsaigh do litriú. Trácht é, ní teachtaireacht téacs.

      1.    panda a dúirt

        ní oibríonn an script domsa. priontaí an teachtaireacht earráide sin go minic. rith "nethogs -t" i gcríochfort chun a fháil amach cad a dhéanann sé ach ní phriontálann sé rud ar bith, ach an earráid. ar mo ríomhaire níl sé ag obair. Samhlaím gur chóir dó rud cosúil leis an méid a phriontaíonn sé a phriontáil nuair a reáchtáiltear é gan an -t, ag taispeáint na bpróiseas agus an bandaleithid. ach i mo chás ní phriontálann sé aon cheann de sin. cén distro a d'úsáid tú chun an script a fhorbairt?

        1.    Joaquin a dúirt

          Má fhéachann tú go géar, tá na bogearraí go léir a úsáideadh agus a leaganacha sa phost. Níl a fhios agam cén fáth an earráid, ach feictear dom gach uair a reáchtáiltear "nethogs -t". Sa script tarlóidh sé gach 2 ″.

          D’fhéadfadh sé a bheith, nuair a bhíonn tú ag rith nethogs, nach bhfuil aon phróiseas ag baint úsáide as an líonra agus dá bhrí sin ní bhfaigheann tú aon aschur.

          Caithfear an script a rith mar fhréamh toisc go gcaithfidh nethogs an t-úsáideoir sin a bheith ag feidhmiú.

          anois chuimhnigh mé ar rud éigin tábhachtach agus tá a fhios agam cén fáth nach n-oibríonn sé duitse:

          NÍ MÓR DUIT an script a eagarthóireacht agus ainm an ghnáth-úsáideora a athrú. Tugtar "joaquin" sa script. Caithfidh tú é a athrú go dtí d’ainm úsáideora.

          Tá brón orm nár thuig mé é sin, ba cheart go mbeadh athróg curtha agam leis an ainm. Is é an rud nár smaoinigh mé ar é a dhéanamh chomh ginearálta, ní raibh uaim ach é a thaispeáint duit ionas go bhfeicfidh tú é agus is féidir leo siúd atá ag iarraidh smaointe a fháil ar conas é a dhéanamh. Ní dhearna mé é leis an rún go n-oibreodh sé ar aon ríomhaire, tógann sé sin am agus níl a fhios agam conas clár a dhéanamh, tarlaíonn rudaí áirithe dom.

          Ádh mór, iarr rud ar bith arís. Agus léigh an post agus tráchtanna na scripte arís le do thoil.

  7.   Facundo a dúirt

    Dia duit Joaquín, inis dom an méid seo a leanas:

    tarchur-iargúlta: (http://localhost:9091/transmission/rpc/) Níorbh fhéidir ceangal leis an bhfreastalaí
    Theip ar ioctl agus IP áitiúil á bhunú le haghaidh eth0 feiste roghnaithe. Féadfaidh tú an gléas a shonrú ar an líne ordaithe.

    aon smaointe ?? go raibh maith agat!

    1.    Joaquin a dúirt

      Dia duit, conas atá tú.
      Gabh mo leithscéal ach níl aon smaoineamh agam 😀
      Ón rud a thuigim a deir an earráid, is fadhb í le ioctl, ach níl a fhios agam cad é sin.

      B’fhéidir go bhféadfá triail a bhaint as an script a stopadh agus féachaint an n-oibríonn tarchur-iargúlta le cuid dá roghanna (léigh a leathanach fear leis an ordú “fear”).