Bash Script: Iṣakoso Gbigbe Bandiwidi Laifọwọyi

ENLE o gbogbo eniyan. Eyi ni ipolowo mi keji. Emi kii ṣe igbagbogbo kọ awọn ifiweranṣẹ ayafi ti Mo ni nkan ti o dara lati pin ati ni akoko yii Mo ni nkan ti o daju pe ọpọlọpọ yoo nifẹ ninu.

Ni oṣu diẹ sẹhin Mo n ronu ṣiṣe iwe afọwọkọ lati ṣe idiwọn bandiwidi ohun elo, ṣugbọn Mo ni diẹ ninu awọn iṣoro ati awọn aṣiṣe ti o jẹ ki o nira fun mi, nitorinaa Mo gbe awọn iyemeji mi soke apero de <º LatiLaini bi ẹnikẹni ba ni imọran kan.

Nitorina ni mo fi silẹ fun igba diẹ ati ni ọjọ kan Mo pinnu lati tun bẹrẹ iwe afọwọkọ naa. Mo ṣe idanwo pupọ, Mo ka pupọ nipa bash, ati pe mo ni orififo ni akoko asiko mi, ṣugbọn mo ṣe !!

Mo ni itẹlọrun nla ati nitorinaa Mo ti pinnu lati pin iwe afọwọkọ kekere mi pẹlu rẹ ki o le lo ati mu dara si. Mo gbero lati fun ni iwe-aṣẹ labẹ GPLv3, ṣugbọn o jẹ iṣẹ akọkọ mi nitorinaa Emi ko ni idaniloju bi o ṣe le ṣe eyi (Mo nilo imọran lati ọdọ ẹnikẹni ti o ti ṣe tẹlẹ).

O dara, bayi Emi yoo ṣalaye ohun ti aini mi jẹ ati ohun ti Mo ṣe lati yanju iṣoro naa.

Ipo
Mo ni eto Intanẹẹti ti 512Kbs, nitorinaa Mo lo gbigbe bi alabara BitTorrent lati ṣe igbasilẹ awọn faili nla (bii LibreOffice ati diẹ ninu GNU / Linux distros). Pẹlu iyara yẹn awọn gbigba lati ayelujara gba igba pipẹ ati pe iṣoro ni nigba lilo aṣawakiri wẹẹbu Akata: gba igba pipẹ lati fifuye.

Nigbati Mo sopọ si Intanẹẹti, Mo muu ikojọpọ gbigbe ati awọn opin akoko igbasilẹ lati ayelujara ati duro de Firefox lati kojọpọ, lẹhinna tun bẹrẹ awọn ṣiṣan naa. Bi iwọ yoo ṣe rii, ṣiṣe eyi ni awọn igba meji jẹ aitoju. Lai mẹnuba pe nigbamiran Mo da duro duro ṣinṣin gbogbo awọn iṣan ati lẹhinna gbagbe lati tan-an pada, ti o yori si akoko ti o wulo fun sisọnu ikojọpọ / gbigba lati ayelujara.

Solusan
Fun iṣoro yii Mo pinnu lati ṣẹda iwe afọwọkọ kan ni Bash eyiti o ṣe ni atẹle ni atẹle:

1. Ṣayẹwo pe Gbigbe n ṣiṣẹ ati pe ko si odò kankan ti o da duro. Ti o ba ri bẹ, tan awọn ṣiṣan pada.

2. Daju pe Firefox n ṣiṣẹ. Lẹhinna o gba KB / s ranṣẹ ati gba nipasẹ rẹ ati fi wọn pamọ sinu faili kan.

3. Ti aṣawakiri aṣawakiri / ṣe igbasilẹ KB / s kọja ibiti o tọka kan, awọn eto Gbigbe Gbigbe / igbasilẹ ti yipada.

Eyi gba laaye pe nigba ti o fẹ lati wọle si oju-iwe wẹẹbu kan, nigbati ẹrọ aṣawakiri firanṣẹ ibeere naa, ikojọpọ awọn faili Gbigbe ni opin ati nigbati o gba data oju-iwe, igbasilẹ naa ni opin. Eyi ṣiṣẹ nla nigbati o wọle si awọn oju-iwe pupọ ni ẹẹkan ati awọn abajade jẹ bakanna bi pẹlu Gbigbe ni pipa.

Anfani nla ni pe o wa ni adaṣe ni kikun ati pe ko nilo ilowosi mi.

Awọn akosile
Botilẹjẹpe o le lo lati ṣakoso agbara bandiwidi ti eyikeyi elo, ni akoko yii o ti kọ nikan lati yanju iṣoro pataki kan. Ṣugbọn ko ṣe nira pupọ lati ṣe awọn iyipada.

Awọn ibeere
Fun o lati ṣiṣẹ daradara o jẹ dandan lati ni ohun elo naa «awọn ẹja».

Ni ọran yii, bi iwe afọwọkọ naa ṣe n ṣiṣẹ pẹlu Firefox ati Gbigbe, o jẹ dandan lati fi awọn ohun elo wọnyi sii, ni afikun si “gbigbe-latọna jijin” eyiti o jẹ ọkan ti o yi ayipada ikojọpọ ati awọn iye igbasilẹ ti awọn ṣiṣan silẹ. Mo tun lo ninu iwe afọwọkọ "awk". Mo darukọ rẹ nitori Emi ko mọ boya gbogbo awọn distros ti fi sii.

Software lo
Atokọ awọn ohun elo ti afọwọkọ nlo ati eto nibiti o ti n ṣiṣẹ.

• Debian GNU / Linux 6.0.8
• Linux 2.6.32-5-686
• Firefox 24.0
• Gbigbe 2.03 (11030)
• Awọn Nethogs 0.7.0

Ipaṣẹ
O gbọdọ ṣiṣe bi gbongbo nitori awọn ẹja le ṣee ṣiṣe nikan pẹlu olumulo yẹn, ṣugbọn gbigbe-latọna jijin o ti ṣiṣẹ pẹlu olumulo deede nipasẹ aṣẹ tirẹ.

Iwe afọwọkọ nlo aṣẹ Bash ti inu pakute Pẹlu eyiti o ṣee ṣe lati mu pada fifuye gbigbe / gbejade awọn iye aiyipada, nigbati o ba da duro nipasẹ awọn ifihan agbara SIGINT (CTRL + c) tabi SIGTERM.

Emi ko ṣiyemeji bi o ṣe le ṣiṣẹ ni ibẹrẹ ati da duro nigbati Mo tiipa tabi tun bẹrẹ kọmputa naa. Mo n ronu lati fi ọna asopọ kan sinu faili naa /etc/rc.local ṣugbọn Emi ko mọ boya yoo ṣiṣẹ, ati pe Emi ko loye gaan bii / ati be be lo / ṣiṣẹinu.d (Mo ri diẹ ninu awọn iwe afọwọkọ ti o wa nibẹ, paapaa egungun, ṣugbọn Emi ko ye wọn). Ti ẹnikẹni ba le ran mi lọwọ, Emi yoo dupe pupọ.

 

Daradara eniyan, iyẹn ni. Mo nireti pe ilowosi kekere mi wulo fun ọ ati pe o le mu dara si bi o ba fẹ. Emi yoo ni inudidun lati ka awọn ero rẹ ati awọn iṣeduro rẹ bii awọn aba bi o ba jẹ pe awọn iṣoro aabo wa pẹlu faili naa (Emi kii ṣe oluṣeto eto, Mo n ṣe awọn nkan diẹ lati igba de igba).

Mo mọ pe pẹlu diẹ ninu awọn atunṣe o le di ohun elo nla ni ọjọ iwaju, nitori Emi ko mọ nipa eyikeyi eto ti o ṣe kanna. Fun apẹẹrẹ o ṣẹlẹ si mi pe MO le ni wiwo ayaworan ni ifọkanbalẹ ati ni anfani lati yan awọn ohun elo ti a fẹ ṣe ni iṣaaju ni lilo bandiwidi (ẹrọ lilọ kiri lori ayelujara, oluṣakoso imudojuiwọn, gbigbe faili, ati bẹbẹ lọ) ati awọn iye itọkasi oriṣiriṣi. Bẹẹni, o ni itara ifẹ, ṣugbọn wulo pupọ.

O le ṣe igbasilẹ akosile ninu awọn jẹun. O ṣeun pupọ fun kika !!


Awọn akoonu ti nkan naa faramọ awọn ilana wa ti awọn ilana olootu. Lati jabo aṣiṣe kan tẹ nibi.

Awọn asọye 23, fi tirẹ silẹ

Fi ọrọ rẹ silẹ

Adirẹsi imeeli rẹ yoo ko le ṣe atejade. O beere aaye ti wa ni samisi pẹlu *

*

*

  1. Lodidi fun data naa: Miguel Ángel Gatón
  2. Idi ti data naa: SPAM Iṣakoso, iṣakoso ọrọ asọye.
  3. Ofin: Iyọọda rẹ
  4. Ibaraẹnisọrọ data: Awọn data kii yoo ni ifọrọhan si awọn ẹgbẹ kẹta ayafi nipasẹ ọranyan ofin.
  5. Ibi ipamọ data: Alaye data ti o gbalejo nipasẹ Awọn nẹtiwọọki Occentus (EU)
  6. Awọn ẹtọ: Ni eyikeyi akoko o le ni opin, gba pada ki o paarẹ alaye rẹ.

  1.   elav wi

    Oh! Awon 😀

    1.    igbagbogbo3000 wi

      Ni igun apa osi ti o ni aṣayan lati ṣe idinwo bandiwidi ti Gbigbe njẹ mejeeji ni ikojọpọ ati gbigba lati ayelujara. Pẹlu Gbigbe Emi ko ni iṣoro eyikeyi pẹlu rẹ.

      1.    cookies wi

        Ṣugbọn eyi jẹ adaṣe, ati Gbigbe tun wa laisi wiwo ayaworan nitorinaa o le ma ni iṣẹ yẹn to sunmọ.

      2.    Joaquin wi

        Pẹlẹ o bawo ni.
        Bẹẹni Mo ti mọ tẹlẹ. Ṣugbọn iyẹn gangan ni ohun ti Emi ko fẹ ṣe.
        Mo ni ero intanẹẹti ti ko dara pupọ (512KB ati pe o dara julọ ni agbegbe mi).

        Pẹlu iwe afọwọkọ mi, Emi ko ṣe aniyan nipa ṣiṣe ohun gbogbo pẹlu ọwọ. Foju inu wo pe o ṣii oju-iwe kan ninu ẹrọ aṣawakiri naa ati Gbigbe n gba gbogbo bandiwidi ni akoko yẹn, nitorinaa oju-iwe naa gba igba diẹ lati fifuye (ni pupọ julọ 1 ′, ṣugbọn o jẹ imunilara). Mo ti ṣetan pẹlu “ṣiṣiṣẹ awọn aala akoko” ni gbogbo iṣẹju meji. Eyi jẹ adaṣe ati fẹrẹẹ jẹ lẹsẹkẹsẹ (o ṣayẹwo KB ti a firanṣẹ ati gba nipasẹ Firefox ni gbogbo iṣẹju-aaya 5).

        Ni otitọ ninu ọran mi pẹlu iyara intanẹẹti yẹn, o dara julọ. Bakannaa Emi ko mọ elo miiran ti o ṣe eyi, bibẹkọ ti kii yoo ṣe. Awọn ti Mo ti rii nikan bandiwidi idinwo, ṣugbọn kii ṣe laifọwọyi.

        Mo nireti pe mo ṣalaye. O ṣeun fun kika!

        1.    Joaquin wi

          Ma binu, Mo ṣe aṣiṣe. Wọn kii ṣe 512KB, dipo wọn jẹ Kbits. (Iyẹn ni, 1/2 "Mega"). Iwọn ti Mo le ṣe igbasilẹ jẹ 75KB / s ati ikojọpọ 50KB / s. Pe nigbati Intanẹẹti ba dara, bibẹkọ ti deede jẹ 48 ati 23.

    2.    Joaquin wi

      Gracias!

  2.   cookies wi

    O nifẹ, Mo lo qBittorrent ati lo iyipada fun awọn opin.

    Ifiranṣẹ naa dara julọ pẹlu awọn awọ wọnyẹn 😉

    1.    Joaquin wi

      O ṣeun fun awọn awọ. Emi ko dara pupọ si i, o dabi ẹni pe o gun pupọ ati monotonous pẹlu ọrọ pupọ.

  3.   Jorge wi

    Tikalararẹ, Mo lo gbigbe-daemon ati Firefox pẹlu taabu ohun elo laaye, nitorinaa Emi ko lọ yika pẹlu awọn eto itagbangba tabi gbagbe lati tẹsiwaju awọn iṣàn tabi turtle ti a mu ṣiṣẹ (ati pe Mo le ṣakoso rẹ lati inu foonu mi). Lati bẹrẹ iṣẹ kan a ti fi kun olumulo kan (fun apẹẹrẹ: adduser –disabil-password nethogs), a ṣẹda faili ọrọ fun daemon ni /etc/init.d pẹlu orukọ kan (ex: nethogs-daemon) ati lẹhinna ni debian o jẹ tẹ "imudojuiwọn-rc.d nethogs-daemon aiyipada" ki o bẹrẹ funrararẹ.

    Faili ọrọ naa jẹ iwe afọwọkọ bu paapaa, eyiti o le dapọ akosile rẹ sinu.
    Ri boya eyi le ṣe iranlọwọ fun ọ, o le ṣee lo lati bẹrẹ gbigbe-daemon, o le ṣee lo lati bẹrẹ nethogs https://trac.transmissionbt.com/wiki/Scripts/initd

    1.    Joaquin wi

      Hello!
      Jẹ ki a wo ti Mo loye: eyi ni lati bẹrẹ Gbigbe ni ibẹrẹ ati da a duro nigbati o ba n tiipa tabi tun bẹrẹ. Pẹlu eyi Emi ko ni awọn iṣoro nitori o nigbagbogbo bẹrẹ funrararẹ ati bẹrẹ gbigba (Mo ṣafikun rẹ si awọn ohun elo ni ibẹrẹ ni Xfce).

      Iṣoro mi ni pe ti o ba jẹ pe nigba gbigbe iwe afọwọkọ sinu rc.local tabi ni init.d Emi ko mọ bi kọnputa ṣe da iwe afọwọkọ naa duro. Iyẹn ni, o han ni nigbati o ba n pari / tun bẹrẹ PC, gbogbo awọn ilana ti pari (ati pẹlu wọn Gbigbe ati Nethogs pẹlu) ṣugbọn Emi ko mọ ohun ti yoo ṣẹlẹ si iwe afọwọkọ mi.

      Ati pe kilode ti iyẹn fi n yọ mi lẹnu? Iwe afọwọkọ naa ṣẹda faili ni / tmp ati iṣakoso iyara ti Gbigbe. Ti Mo ba ṣiṣẹ ni ebute kan ati lojiji da a duro (fun apẹẹrẹ pẹlu CTRL + c), iwe afọwọkọ, ṣaaju titiipa, mu awọn iyara aiyipada pada (ti o ba jẹ dandan) ati lẹhinna da Nethogs duro o si paarẹ faili naa lati / tmp. Mo gbiyanju lati ṣe bi “amọdaju” bi o ti ṣee ṣe ki o ma fi eyikeyi awọn faili alaimuṣinṣin silẹ tabi awọn ilana abẹlẹ.

      Nipa ohun ti o sọ, Emi ko loye kini “taabu ohun elo laaye” jẹ.

      1.    Jorge wi

        Taabu ohun elo jẹ taabu titilai, o ṣii nigbagbogbo ati dinku laarin Firefox http://i.imgur.com/a5i0aP3.png (akojọ aṣayan ọrọ lori taabu, tẹ lori “taabu lẹẹ”). Nigbati awọn daemons ba fi ami TERM ranṣẹ wọn duro de igba diẹ, titi di igba ti wọn ba ti pari igba, ati fi data wọn pamọ. Akiyesi pe ninu ọna asopọ ti Mo fun ṣaaju nigba ti njade kuro ni awọn iwe afọwọkọ pe awọn ipe ibere-daemon ati sọ fun gbigbe lati da, nibẹ ni o le lẹẹ “killall nethogs” ati ohun ti o ni StopScript ninu. Iwe afọwọkọ init ninu ọran yii iwọ yoo ni lati pe ni gbongbo dipo olumulo kan pato, nitori o nilo awọn anfani.

        1.    Joaquin wi

          Daradara o ṣeun fun sample. Ni kete ti Mo ni akoko Mo gbiyanju o!

  4.   facundo wi

    nla, Mo ti wa kọja ibajẹ yii paapaa paapaa ti o ba ni asopọ iyara, o fi agbara mu lati ṣe idinwo gbigbe lakoko ti o fẹ ṣe iyalẹnu ati bayi akoko “egbin”.
    Emi yoo gbiyanju o nigbati mo le. Ẹ ati ọpẹ !!

    1.    Joaquin wi

      O ṣeun fun ọ! Lero yi le ran o!

      1.    Facundo wi

        Kaabo lẹẹkansi Joaquin. Mo rii pe o n ṣe abojuto ti idahun si gbogbo awọn asọye nitorinaa Emi yoo lo anfani yẹn ati pe emi yoo beere lọwọ rẹ awọn ibeere abirun tọkọtaya kan.
        Ni akọkọ, bawo ni MO ṣe le mọ ti Mo ba ti fi iwe afọwọkọ "awk" sii? Mo lo Debian 7.2.
        Keji, Emi ko mọ kini lati ṣe pẹlu koodu lẹẹ. Mo ni lati mu olootu ọrọ kan ki o fi pamọ si faili kan ti a pe ni "bandwidth-controller.sh" ati lẹhinna ṣiṣẹ bi "./band-width-controller.sh". Eyi ni apakan nibiti Mo ti padanu julọ.
        Kẹta: Nigbati o ba sọ pe ki o ṣiṣẹ bi gbongbo, ṣe o ṣe pataki lati yipada lati olumulo si gbongbo tabi o to pẹlu sudo?

        Ti o ba ni kika eyikeyi lati ṣeduro mi lori koko-ọrọ naa, Mo ni riri fun.
        Saludos!

  5.   Giskard wi

    Iyẹn ni idi ti MO fi n gbe gbigbejade kuro nigbagbogbo ati lati fi Ikun omi sii. O dara, fun iyẹn ati diẹ diẹ diẹ sii ti Ikun-omi nfun mi ti ekeji ko mu wa.

    1.    Joaquin wi

      Bawo, Emi ko mọ Okun-omi. Iṣoro akọkọ mi ni iṣẹ intanẹẹti. Pẹlu eyi Mo fun pọ si kikun.

  6.   Panda wi

    Bawo. bandiwidi mi tun ni opin nitorinaa Mo gbiyanju iwe afọwọkọ yii. Ṣugbọn ko ṣiṣẹ. aṣiṣe naa dabi pe o wa ninu aṣẹ nethogs -t. o da aṣiṣe naa pada “Nduro fun apo akọkọ lati de (wo kokoro orisunforge.net 1019381)” ati pe Mo gbiyanju mint, archlinux ko si nkankan. Kini aṣẹ yẹn yẹ ki o pada? Mo ro pe Mo yẹ ki o tẹjade ni ọrọ pẹtẹlẹ bandiwidi ti a lo nipasẹ ohun elo kọọkan. Njẹ o mọ eto miiran ti o fun ọ laaye lati tẹtisi nẹtiwọọki naa?

    1.    Joaquin wi

      Pẹlẹ o bawo ni.
      Iyẹn jẹ kokoro Nethogs kan. O han si mi paapaa, ṣugbọn o ṣiṣẹ bakanna.

      Kini Nethogs ṣe ni afihan awọn ilana ti o jẹ bandiwidi pupọ julọ, ni akoko gidi. Ninu iwe afọwọkọ, a ti fipamọ iṣelọpọ rẹ ninu faili ọrọ kan "net.list", ki o le wa ni adarọ nigbamii.

      Iwe afọwọkọ nikan ṣiṣẹ pẹlu Gbigbe (alabara BitTorrent kan) ati Firefox (ẹrọ lilọ kiri lori ayelujara). Ohun ti o ṣe ni opin bandiwidi Gbigbe nigbati Firefox n ṣajọpọ oju-iwe wẹẹbu kan. O nilo lati fi sori ẹrọ: Nethogs, Gbigbe, Gbigbe-latọna jijin ati Firefox.

      Gbogbo rẹ ti ṣalaye ninu ifiweranṣẹ, nitorinaa Emi ko mọ kini iṣoro rẹ jẹ.

      PS: Jọwọ kọ bi o ti tọ ki o ṣe atunṣe akọtọ rẹ. O ti wa ni a ọrọìwòye, ko kan ọrọ ifiranṣẹ.

      1.    Panda wi

        iwe afọwọkọ ko ṣiṣẹ fun mi. tẹ jade aṣiṣe ifiranṣẹ ni ọpọlọpọ igba. ṣiṣe "nethogs -t" ni ebute kan lati wo ohun ti o ṣe ṣugbọn ko tẹ ohunkohun, o kan aṣiṣe naa. lori pc mi ko ṣiṣẹ. Mo fojuinu pe o yẹ ki o tẹ nkan ti o jọra si ohun ti o tẹ nigba ṣiṣe laisi -t, fifihan awọn ilana ati bandiwidi. ṣugbọn ninu ọran mi ko ṣe titẹ eyikeyi iyẹn. distro wo ni o lo lati ṣe agbekalẹ iwe afọwọkọ naa?

        1.    Joaquin wi

          Ti o ba wo ni pẹkipẹki, ifiweranṣẹ naa ni gbogbo sọfitiwia ti a lo ati awọn ẹya rẹ. Emi ko mọ idi ti aṣiṣe, ṣugbọn o han si mi ni gbogbo igba ti “nethogs -t” n ṣiṣẹ. Ninu iwe afọwọkọ yoo ṣẹlẹ ni gbogbo 2 ″.

          O le jẹ pe nigbati o ba n ṣiṣẹ awọn nethogs, ko si ilana nipa lilo nẹtiwọọki ati pe idi ni idi ti o ko gba abajade eyikeyi.

          Iwe afọwọkọ gbọdọ wa ni ṣiṣe bi gbongbo nitori nethogs nilo olumulo yẹn lati ṣiṣẹ.

          bayi Mo ranti nkan pataki kan Mo mọ idi ti ko fi ṣiṣẹ fun ọ:

          O GBỌDỌ Ṣatunkọ iwe afọwọkọ ki o yi orukọ olumulo deede pada. Ninu iwe afọwọkọ o pe ni "joaquin". O gbọdọ yipada si orukọ olumulo rẹ.

          Ma binu Emi ko mọ iyẹn, Mo yẹ ki o fi orukọ si oniyipada kan. Ohun naa ni pe Emi ko ronu lati sọ di gbogbogbo, Mo kan fẹ lati fi han si ọ ki o le rii ati pe awọn ti o fẹ le gba awọn imọran bi wọn ṣe le ṣe. Emi ko ṣe pẹlu ero pe yoo ṣiṣẹ lori kọnputa eyikeyi, ti o gba akoko ati Emi ko mọ bi a ṣe le ṣe eto, diẹ ninu awọn nkan ṣẹlẹ si mi.

          Orire ti o dara, ohunkohun beere lẹẹkansi. Ati pe jọwọ ka ifiweranṣẹ ati awọn asọye ti iwe afọwọkọ lẹẹkansii.

  7.   Facundo wi

    Kaabo Joaquín, sọ fun mi atẹle yii:

    gbigbe-latọna jijin: (http://localhost:9091/transmission/rpc/) Ko le sopọ si olupin
    ioctl kuna lakoko idasile IP agbegbe fun ẹrọ ti a yan eth0. O le ṣọkasi ẹrọ lori laini aṣẹ.

    eyikeyi awọn imọran ?? o ṣeun!

    1.    Joaquin wi

      Pẹlẹ o bawo ni.
      E dakun sugbon mi o ni imọran 😀
      Lati ohun ti Mo ye aṣiṣe naa sọ, o jẹ iṣoro pẹlu ioctl, ṣugbọn Emi ko mọ kini iyẹn jẹ.

      Boya o le gbiyanju diduro akosile naa ki o rii boya gbigbe-latọna jijin ṣiṣẹ pẹlu diẹ ninu awọn aṣayan rẹ (ka oju-iwe eniyan rẹ pẹlu aṣẹ “eniyan”).