Script Bash: Automātiski kontrolējiet pārraides joslas platumu

Sveiki visiem. Šis ir mans otrais ieraksts. Es parasti nerakstu ziņas, ja vien man nav kaut kas labs, ar ko dalīties, un šoreiz man ir kaut kas tāds, kas noteikti interesēs daudzus.

Pirms dažiem mēnešiem es domāju izveidot skriptu, lai ierobežotu lietojumprogrammu joslas platumu, taču man bija dažas problēmas un kļūdas, kas man to apgrūtināja, tāpēc es sacīju savas šaubas par forums de <º FromLinux ja kādam būtu ideja.

Tāpēc es uz laiku to atstāju un vienu dienu nolēmu atsākt scenāriju. Es daudz testēju, daudz lasīju par bash, un brīvajā laikā man sāpēja galva, bet es to izdarīju !!

Man ir milzīgs gandarījums, tāpēc esmu nolēmis dalīties ar jums savā mazajā scenārijā, lai jūs varētu to izmantot un uzlabot. Es plānoju to licencēt saskaņā ar GPLv3, taču tas ir mans pirmais projekts, tāpēc neesmu īsti pārliecināts, kā to izdarīt (man vajag padomu no tā, kurš to jau ir izdarījis).

Nu, tagad es paskaidrošu, kāda bija mana vajadzība un ko es darīju, lai atrisinātu problēmu.

Situācija
Man ir interneta plāns 512 KB, tāpēc izmantoju transmisija kā BitTorrent klientu, lai lejupielādētu lielus failus (piemēram, LibreOffice un dažus GNU / Linux distros). Ar šo ātrumu lejupielādes prasa ilgu laiku, un problēma ir tīmekļa pārlūka lietošanā Firefox: ielāde prasa ilgu laiku.

Kad izveidoju savienojumu ar internetu, es aktivizēju pārraides augšupielādes un lejupielādes laika ierobežojumus un gaidu, kamēr Firefox tiks ielādēts, pēc tam atkal sāksim straumēšanu. Kā redzēsiet, pāris reizes to darīt ir garlaicīga. Nemaz nerunājot par to, ka dažreiz es tieši pārtraucu visus straumējumus un pēc tam aizmirstu tos atkal aktivizēt, kas noved pie izšķērdēta vērtīgā laika straumju augšupielādei / lejupielādei.

Šķīdums
Šai problēmai es nolēmu izveidot Bash skriptu, kas pamatā veic šādas darbības:

1. Pārbaudiet, vai pārraide darbojas un vai neviens straumējums nav apturēts. Ja tā, ieslēdziet straumes vēlreiz.

2. Pārbaudiet, vai darbojas Firefox. Pēc tam tā nosūta un saņem KB / s un saglabā tos failā.

3. Ja pārlūka augšupielādes / lejupielādes KB / s pārsniedz atsauces diapazonu, tiek mainīti pārraides augšupielādes / lejupielādes iestatījumi.

Tas ļauj, ja vēlas piekļūt tīmekļa lapai, kad pārlūkprogramma nosūta pieprasījumu, pārsūtīšanas faila augšupielāde ir ierobežota un, saņemot lapas datus, lejupielāde ir ierobežota. Tas darbojas lieliski, ja vienlaikus piekļūstat vairākām lappusēm, un rezultāti faktiski ir tādi paši kā ar atspējotu pārraidi.

Lielā priekšrocība ir tā, ka tā ir pilnībā automātiska un neprasa manu iejaukšanos.

Scenārijs
Lai gan to varētu izmantot, lai kontrolētu jebkuras lietojumprogrammas joslas platuma patēriņu, šobrīd tas ir rakstīts tikai ļoti konkrētas problēmas risināšanai. Bet modificēt nav ļoti grūti.

Prasības
Lai tā darbotos pareizi, ir nepieciešama lietojumprogramma «tīkli'.

Šajā gadījumā, tā kā skripts darbojas ar Firefox un Transmission, ir jāinstalē šīs lietojumprogrammas, papildus "pārraidei-tālvadībai", kas maina straumju augšupielādes un lejupielādes vērtības. Es arī izmantoju skriptā "awk". Es to pieminu, jo nezinu, vai visos rajonos tas ir uzstādīts.

Lietotā programmatūra
Skripta izmantoto lietojumprogrammu un sistēmas, kurā tā darbojas, saraksts.

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

Izpildīšana
Tas jādarbina kā root, jo tīkli var palaist tikai ar šo lietotāju, bet pārraide-tālvadība tas tiek izpildīts ar parasto lietotāju, izmantojot komandu viņa.

Skripts izmanto iekšējo Bash komandu lamatas Ar kuru palīdzību ir iespējams atjaunot pārraides slodzes / izkraušanas noklusējuma vērtības, kad tā tiek apturēta ar SIGINT (CTRL + c) vai SIGTERM signāliem.

Es joprojām nezinu, kā to palaist, startējot un pārtraukt, kad es izslēdzu vai restartēju datoru. Es domāju ievietot saiti failā /etc/rc.local bet es nezinu, vai tas darbotos, un es īsti nesaprotu, kā / etc / darbojasinic.d (Es redzēju dažus scenārijus, kas tur ir, pat skelets, bet es viņus nesaprotu). Ja kāds man var palīdzēt, būšu ļoti pateicīgs.

Nu ļaudis, tas tā. Es ceru, ka mans mazais ieguldījums jums ir noderīgs un ka jūs varat to uzlabot, ja vēlaties. Ar prieku lasīšu jūsu viedokļus un ieteikumus, kā arī ieteikumus gadījumā, ja ar failu ir drošības problēmas (es neesmu programmētājs, es laiku pa laikam daru tikai dažas lietas).

Es zinu, ka ar dažiem labojumiem tas nākotnē var kļūt par lielisku lietojumprogrammu, jo es nezinu nevienu programmu, kas rīkotos tāpat. Piemēram, man šķiet, ka man varētu būt grafiskā saskarne zenness un lai varētu izvēlēties lietojumprogrammas, kurām vēlamies piešķirt prioritāti joslas platuma izmantošanā (tīmekļa pārlūks, atjauninājumu pārvaldnieks, failu pārsūtīšana utt.) un dažādas atsauces vērtības. Jā, tas ir nedaudz ambiciozs, bet diezgan noderīgs.

Skriptu var lejupielādēt vietnē makaroni. Liels paldies par lasīšanu !!


Pievienot kā vēlamo avotu pakalpojumā Google