Script bach: Kontwole transmisyon Pleasant Otomatikman

Bonjou tout moun. Sa a se dezyèm pòs mwen an. Anjeneral, mwen pa ekri pòs sof si mwen gen yon bagay bon yo pataje ak tan sa a mwen gen yon bagay ki siman anpil pral enterese nan.

Kèk mwa de sa mwen te panse a fè yon script limite Pleasant la nan aplikasyon yo, men mwen te gen kèk pwoblèm ak erè ki te fè li difisil pou mwen, Se konsa, mwen leve soti vivan dout mwen nan fowòm de <º FromLinux nan ka nenpòt moun ki te gen yon lide.

Se konsa, mwen kite li pou yon ti tan ak yon sèl jou a mwen deside rekòmanse script la. Mwen te fè anpil tès, mwen li anpil bagay sou bach, e mwen te gen tèt fè mal nan tan lib mwen, men mwen te fè li !!

Mwen gen anpil satisfaksyon e se konsa mwen deside pataje avèk ou ti script mwen pou ou ka itilize li epi amelyore li. Mwen planifye pou lisansye li anba GPLv3, men li nan premye pwojè mwen Se konsa, mwen pa byen asire ki jan fè sa (mwen bezwen konsèy nan men nenpòt moun ki te fè l 'anvan).

Oke, kounye a mwen pral eksplike ki sa bezwen mwen te ak sa mwen te fè yo rezoud pwoblèm nan.

Sitiyasyon
Mwen gen yon plan entènèt nan 512Kbs, Se poutèt sa mwen itilize transmisyon kòm yon kliyan BitTorrent pou telechaje gwo dosye (tankou LibreOffice ak kèk distribisyon GNU / Linux). Avèk vitès sa a downloads yo pran yon bon bout tan ak pwoblèm nan se lè w ap itilize navigatè entènèt la Firefox: pran anpil tan pou chaje.

Lè mwen konekte sou entènèt la, mwen aktive transmisyon a ak telechaje limit tan epi rete tann pou Firefox chaje, Lè sa a, kòmanse toran yo ankò. Kòm ou pral wè, fè sa yon koup de fwa se fatigan. Pa mansyone ke pafwa mwen kareman pran yon poz tout torrents yo ak Lè sa a, bliye vire yo sou ankò, ki mennen nan tan valab gaspiye pou Téléchargez / telechaje torrents yo.

Solisyon
Pou pwoblèm sa a mwen deside kreye yon script nan Bash ki fondamantalman fè bagay sa yo:

1. Tcheke ke Transmisyon ap kouri epi pa gen okenn torrent pran yon poz. Si se konsa, vire toran yo tounen sou.

2. Verifye si Firefox ap kouri. Lè sa a, li vin KB / s yo voye ak resevwa pa li epi sove yo nan yon dosye.

3. Si navigatè a telechaje oswa telechaje KB / s depase yon seri referans, Transmisyon Upload / download anviwònman yo chanje.

Sa pèmèt ke lè ou vle jwenn aksè nan yon paj wèb, lè navigatè a voye demann lan, transfè dosye transmisyon an limite epi lè yo resevwa done paj la, download la limite. Sa a ap travay anpil lè gen aksè nan paj miltip nan yon fwa ak rezilta yo aktyèlman menm jan ak Transmisyon enfim.

Avantaj nan gwo se ke li se konplètman otomatik epi yo pa mande pou entèvansyon mwen an.

Script la
Malgre ke li ta ka itilize kontwole konsomasyon nan Pleasant nan nenpòt aplikasyon, nan moman sa a li se sèlman ekri nan liv rezoud yon pwoblèm trè patikilye. Men, li pa trè difisil fè modifikasyon.

Kondisyon pou
Pou li mache byen li nesesè pou gen aplikasyon an «nethogs'.

Nan ka sa a, kòm script la ap travay ak Firefox ak transmisyon, li nesesè gen aplikasyon sa yo enstale, nan adisyon a "transmisyon-aleka" ki se sa ki chanje Upload la ak valè download nan toran yo. Mwen itilize tou nan script "awk" la. Mwen mansyone li paske mwen pa konnen si tout distribisyon yo gen li enstale.

Lojisyèl itilize
Yon lis aplikasyon ke script la itilize ak sistèm kote li fonksyone.

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

Ekzekisyon
Li dwe kouri kòm rasin paske nethogs ka fèt sèlman avèk itilizatè sa, men transmisyon-aleka li egzekite ak itilizatè nòmal la pa vle di nan lòd la li.

Script la itilize lòd entèn Bash la pèlen Avèk ki li posib retabli chaj transmisyon / dechaje valè yo default, lè li sispann pa vle di nan SIGINT (CTRL + c) oswa siyal SIGTERM.

Mwen toujou pa fin sèten ki jan yo kouri li nan demaraj epi yo sispann lè mwen fèmen oswa rekòmanse òdinatè a. Mwen te panse a mete yon lyen nan dosye a /etc/rc.local men mwen pa konnen si li ta mache, e mwen pa reyèlman konprann ki jan / elatriye / travayinit.d (Mwen te wè kèk Scripts ki la, menm skelèt, men mwen pa konprann yo). Si yon moun ka ede m, mwen pral trè rekonesan.

 

Oke jan, se li. Mwen espere ke ti kontribisyon mwen an itil ou e ke ou ka amelyore li si ou vle. Mwen pral kontan li opinyon ou ak rekòmandasyon kòm byen ke sijesyon nan ka ta gen pwoblèm sekirite ak dosye a (mwen menm mwen pa yon pwogramè, mwen sèlman fè kèk bagay de tan zan tan).

Mwen konnen ke ak kèk ranje li ka vin yon aplikasyon gwo nan tan kap vini an, paske mwen pa konnen nan nenpòt ki pwogram ki fè menm bagay la. Pou egzanp li rive m 'ke mwen te kapab gen yon koòdone grafik nan zenite ak pou kapab chwazi aplikasyon yo nou vle priyorite nan itilize nan Pleasant (navigatè entènèt, manadjè aktyalizasyon, transfè dosye, elatriye) ak valè yo referans diferan. Wi, li se yon ti jan anbisye, men byen itil.

Ou ka telechaje script la nan kole. Mèsi anpil pou lekti !!


Kontni an nan atik la respekte prensip nou yo nan etik editoryal. Pou rapòte yon erè klike sou isit la.

23 kòmantè, kite ou

Kite kòmantè ou

Adrès imèl ou pa pral dwe pibliye. Jaden obligatwa yo make ak *

*

*

  1. Responsab pou done yo: Miguel Ángel Gatón
  2. Objektif done yo: Kontwòl SPAM, jesyon kòmantè.
  3. Lejitimasyon: konsantman ou
  4. Kominikasyon nan done yo: done yo pa pral kominike bay twazyèm pati eksepte pa obligasyon legal.
  5. Done depo: baz done anime pa rezo Occentus (Inyon Ewopeyen)
  6. Dwa: Nenpòt ki lè ou ka limite, refè ak efase enfòmasyon ou yo.

  1.   elav diro

    Oh! Enteresan 😀

    1.    eliotime3000 diro

      Nan kwen gòch ki pi ba a ou gen opsyon pou limite band ki transmisyon konsome tou de nan telechaje ak telechaje. Avèk transmisyon mwen pa te gen okenn pwoblèm ak li.

      1.    bonbon diro

        Men, sa a se otomatik, e gen tou Transmisyon san yo pa yon koòdone grafik pou ou ka pa gen ki fonksyon konsa sou la men.

      2.    Joaquin diro

        Bonjou koman ou ye.
        Wi mwen deja konnen sa. Men, se egzakteman sa mwen pa vle fè.
        Mwen gen yon plan entènèt trè pòv (512KB epi li pi bon nan zòn mwen an).

        Avèk script mwen an, mwen pa enkyete sou fè tout bagay nan men yo. Imajine ke ou louvri yon paj nan navigatè a ak transmisyon ap okipe tout Pleasant la nan moman sa a, se konsa paj la pran yon ti tan yo chaje (nan pifò 1 ′, men li se exasperating). Mwen fini ak "aktive limit tan" chak de minit. Sa a se otomatik ak prèske enstantane (li tcheke KB a voye ak resevwa pa Firefox chak 5 segonn).

        Vrèman nan ka mwen an ak vitès entènèt sa, li ekselan. Epitou mwen pa konnen nan yon lòt aplikasyon ki fè sa, sinon li pa ta fè li. Sa yo mwen te wè sèlman limite Pleasant, men se pa otomatikman.

        Mwen espere ke mwen te klè. Mèsi pou lekti!

        1.    Joaquin diro

          Padon, mwen te mal. Yo pa 512KB, olye yo se Kbits. (Sa vle di, 1/2 "Mega"). Maksimòm nan mwen ka telechaje se 75KB / s ak 50KB / s Upload. Se lè sa a sou entènèt la amann, otreman nòmal la se 48 ak 23.

    2.    Joaquin diro

      Mèsi!

  2.   bonbon diro

    Enteresan, mwen itilize qBittorrent epi sèvi ak switch la pou limit.

    Pòs la sanble bèl ak sa yo koulè 😉

    1.    Joaquin diro

      Mèsi pou koulè yo. Mwen pa trè bon nan li, li sanble trè long ak monotone ak tèks anpil.

  3.   Jorge diro

    Pèsonèlman, mwen sèvi ak transmisyon-daemon ak Firefox ak yon tab aplikasyon ap viv, Se konsa, mwen pa mache ak pwogram ekstèn oswa bliye kontinye toran yo oswa aktive tòti a (e mwen ka kontwole li nan telefòn mwen). Pou kòmanse yon sèvis se yon itilizatè te ajoute (ansyen: adduser –disabled-modpas nethogs), se yon dosye tèks pou daemon a kreye nan /etc/init.d ak yon non (ansyen: nethogs-daemon) ak Lè sa a, nan Debian li se tape "update-rc.d nethogs-daemon default" pou li kòmanse pou kont li.

    Fichye tèks la se yon script bash tou, kote ou ka rantre script ou an.
    Gade si sa ka ede ou, li ka itilize pou kòmanse transmisyon-daemon, li ka itilize pou kòmanse nethogs https://trac.transmissionbt.com/wiki/Scripts/initd

    1.    Joaquin diro

      Hello!
      Ann wè si mwen konprann: sa a se kòmanse Transmisyon nan demaraj epi yo sispann li lè fèmen oswa rekòmanse. Avèk sa mwen pa gen okenn pwoblèm depi li toujou kòmanse pou kont li epi li kòmanse telechaje (mwen te ajoute li nan aplikasyon yo nan demaraj nan Xfce).

      Pwoblèm mwen an se ke si lè mete script la nan rc.local oswa nan init.d mwen pa konnen ki jan òdinatè a sispann script la. Sa vle di, evidamman lè ou fèmen / rekòmanse PC a, tout pwosesis yo sispann (epi avèk yo Transmisyon ak Nethogs tou) men mwen pa konnen sa ki ta rive script mwen an.

      Epi poukisa sa deranje mwen? Script la kreye yon dosye nan / tmp ak kontwole vitès la nan transmisyon. Si mwen kouri l 'nan yon tèminal epi toudenkou sispann li (pou egzanp ak CTRL + c), script la anvan fèmen retabli vitès yo default (nan ka li nesesè) ak Lè sa a, sispann Nethogs ak efase dosye a soti nan / tmp. Mwen te eseye fè li kòm "pwofesyonèl" ke posib pou ke li pa kite okenn dosye ki lach oswa pwosesis background.

      Sou sa ou te di, mwen pa t 'konprann ki sa "tab aplikasyon viv" se.

      1.    Jorge diro

        Yon tab aplikasyon se yon tab pèmanan, li toujou louvri epi minimize nan firefox http://i.imgur.com/a5i0aP3.png (meni kontèks sou tab, klike sou «tab keratin»). Lè move lespri yo voye siyal TERM yo rete tann yon ti tan, jouk apre yo fin fèmen sesyon, epi sove done yo. Remake byen ke nan lyen ke mwen te bay anvan lè sòti script la apèl kòmanse-sispann-demon ak di transmisyon yo sispann, gen ou ta ka kole "killall nethogs" ak sa li genyen StopScript. Script la init nan ka sa a ou ta dwe rele li kòm rasin olye pou yo yon itilizatè espesifik, depi li bezwen privilèj.

        1.    Joaquin diro

          Oke mèsi pou pwent la. Le pli vit ke mwen gen tan mwen pral eseye li!

  4.   facundo diro

    gwo, mwen te vini nan tout dezavantaj sa a depi menm si ou gen yon koneksyon vit, ou fòse yo limite transmisyon pandan ke ou vle navige e konsa "gaspiye" tan.
    Mwen pral eseye li lè mwen kapab. Bonjou ak mèsi !!

    1.    Joaquin diro

      Mèsi a ou! Espere ke sa ka ede ou!

      1.    Facundo diro

        Bonjou ankò Joaquin. Mwen wè ke w ap pran swen pou reponn a tout kòmantè yo Se konsa, mwen pral pran avantaj de sa e mwen pral poze w yon koup nan kesyon rookie.
        Premyèman, ki jan mwen fè konnen si mwen gen "awk" script la enstale? Mwen itilize Debian 7.2.
        Dezyèmman, mwen pa konnen ki sa fè ak kòd la keratin. Mwen dwe gen tan pwan yon editè tèks epi sove li nan yon dosye ki rele "bandwidth-controller.sh" ak Lè sa a, kouri li kòm "./band-width-control.sh". Sa a se pati a kote mwen pi pèdi.
        Twazyèm: Lè ou di kouri li kòm rasin, èske li nesesè chanje soti nan itilizatè rasin oswa avèk sudo se li?

        Si ou gen nenpòt lekti rekòmande m 'sou sijè a, mwen apresye li.
        Greetings!

  5.   Giskard diro

    Se poutèt sa mwen toujou désinstaller transmisyon ak enstale Deluge. Oke, pou sa ak yon ti kras plis bagay ke Deluge ofri m 'ke lòt la pa pote.

    1.    Joaquin diro

      Hi, mwen pa konnen Deluge. Pwoblèm prensipal mwen an se sèvis entènèt la. Avèk sa a mwen peze li nan tout mezi posib.

  6.   panda diro

    Bonjou se Pleasant mwen tou limite Se konsa, mwen te eseye sa a script. Men, li pa nan travay. erè a sanble ap nan nethogs -t lòd la. li retounen erè a "Ap tann pou premye pake rive (gade sourceforge.net ensèk 1019381)" e mwen te eseye rekòt pye mant, archlinux e pa gen anyen. Kisa lòd sa sipoze retounen? Mwen ta kwè mwen ta dwe enprime nan tèks plenn lajè band itilize chak aplikasyon. Èske w konnen yon lòt pwogram ki pèmèt ou koute rezo a?

    1.    Joaquin diro

      Bonjou koman ou ye.
      Sa se yon ensèk Nethogs. Li parèt pou mwen tou, men li mache kanmenm.

      Ki sa Nethogs fè se montre pwosesis yo ki konsome pi laj la, an tan reyèl. Nan script la, se pwodiksyon li sove nan yon dosye tèks "net.list", se konsa ke li ka filtre pita.

      Script la sèlman travay ak transmisyon (yon kliyan BitTorrent) ak Firefox (navigatè entènèt). Ki sa li fè se limite Pleasant transmisyon an lè Firefox ap chaje yon paj entènèt. Ou bezwen enstale: Nethogs, Transmisyon, Transmisyon-aleka ak Firefox.

      Li nan tout eksplike nan pòs la, Se konsa, mwen pa konnen ki sa pwoblèm ou an se.

      PS: Tanpri ekri kòrèkteman epi amelyore òtograf ou. Li se yon kòmantè, pa yon mesaj tèks.

      1.    panda diro

        script la pa travay pou mwen. enprime mesaj erè sa anpil fwa. kouri "nethogs -t" nan yon tèminal yo wè sa li fè, men li pa enprime anyen, jis erè a. sou PC mwen an li pa ap travay. Mwen imajine ke li ta dwe enprime yon bagay ki sanble ak sa li simagri lè egzekite san yo pa -t la, ki montre pwosesis yo ak Pleasant. men nan ka mwen an li pa enprime nenpòt nan sa. ki distribisyon ou te itilize pou devlope script la?

        1.    Joaquin diro

          Si ou gade ak anpil atansyon, pòs la gen tout lojisyèl yo itilize ak vèsyon li yo. Mwen pa konnen poukisa erè a, men li parèt m 'chak fwa "nethogs -t" kouri. Nan script la li pral rive chak 2 ″.

          Li ka ke lè ou kouri nethogs, pa gen okenn pwosesis lè l sèvi avèk rezo a ak Se poutèt sa ou pa jwenn okenn pwodiksyon.

          Script la dwe kouri kòm rasin paske nethogs bezwen itilizatè sa a fonksyone.

          kounye a mwen sonje yon bagay enpòtan e mwen konnen poukisa li pa mache pou ou:

          OU DWE EDITE script la epi chanje non itilizatè nòmal la. Nan script la yo rele sa "joaquin". Ou dwe chanje li nan non itilizatè ou an.

          Padon mwen pa t 'reyalize ke, mwen ta dwe te mete non an nan yon varyab. Bagay la se ke mwen pa t 'panse a fè li tèlman jeneral, mwen jis te vle montre li nan ou pou ke ou ka wè li ak moun ki vle ka jwenn lide sou kòman yo fè li. Mwen pa t 'fè l' ak entansyon an ke li ta travay sou nenpòt ki òdinatè, ki pran tan e mwen pa konnen ki jan yo pwogram, kèk bagay rive m '.

          Bon chans, anyen mande ankò. Epi tanpri li pòs la ak kòmantè nan script la ankò.

  7.   Facundo diro

    Bonjou Joaquín, di mwen bagay sa yo:

    transmisyon-aleka: (http://localhost:9091/transmission/rpc/) Pa t 'kapab konekte nan sèvè
    ioctl echwe pandan y ap etabli lokal IP pou aparèy chwazi eth0. Ou ka presize aparèy la sou liy lan lòd.

    nenpòt lide ?? mèsi!

    1.    Joaquin diro

      Bonjou koman ou ye.
      Eskize m 'men mwen pa gen okenn lide 😀
      Soti nan sa mwen konprann erè a di, li se yon pwoblèm ak ioctl, men mwen pa konnen ki sa sa ye.

      Petèt ou ta ka eseye kanpe script la ak wè si transmisyon-aleka travay ak kèk nan opsyon li yo (li paj man li yo ak "nonm lan" lòd).