Datatraffic beperken

Pagina: 1
Acties:

  • Servowire
  • Registratie: September 2000
  • Laatst online: 18:46

Servowire

prutser:~#

Topicstarter
Hoe kan ik een bepaalde interface locken op b.v. 200 mb per dag?

b.v.:

eth0 mag per dag 200 mb gebruiken, daarna gaat ie plat

en automatisch weer up om 00:00


Hoe kan ik dit maken?

met papier mache kun je alles maken!!


  • odysseus
  • Registratie: Augustus 2000
  • Laatst online: 14:36

odysseus

Debian GNU/Linux Sid

Vrij simpel en werkt niet eens zo slecht: een scriptje maken als dit:
code:
1
2
3
#!/bin/bash
### Draai dit op de achtergrond, pas eventueel de tijd tussen de checks aan (is nu 60 seconden).
while (/bin/true); do /locatie/van/perlscript && sleep 60; done

En dan in /locatie/van/perlscript iets zetten als:
code:
1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/perl
### Dit script moet regelmatig gedraaid worden, bijvoorbeeld door het bestand hierboven.
my $MAX_MB = 200;
$MAX_MB = $MAX_MB * 1024 * 1024; #Bytes

my $traffic = qx/ifconfig | grep 'RX bytes' | head -1/; #head -1 om alleen eth0 te hebben!
$traffic =~ s/^.*RX\ bytes:// | s/\s.*$//;
if ($traffic > $MAX_MB)
  {
    qx/ifdown eth0/;
  }

Vervolgens laat je in je crontab altijd om 0.00u een ifup eth0 uitvoeren en je bent klaar ;)
Overigens gaat dit alleen om de ontvangen bytes. Voor de verzonden bytes moet je even de regexp aanpassen zodat hij niet het eerste deel van de regel maar het tweede deel neemt.

* odysseus weet wel dat dit allemaal veel beter kan, maar voor een snelle hack is het toch goed genoeg...

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


  • Servowire
  • Registratie: September 2000
  • Laatst online: 18:46

Servowire

prutser:~#

Topicstarter
He VET bedankt ! :)

het werkt (na een kleine aanpassing)

:D

met papier mache kun je alles maken!!


  • dinges
  • Registratie: September 2000
  • Niet online
Op woensdag 24 oktober 2001 00:05 schreef Servowire het volgende:
He VET bedankt ! :)

het werkt (na een kleine aanpassing)

:D
als je ook ff vertelt wat die aanpassing was hebben andere mensen er ook nog wat aan :)

PSN: Houtvlot


Verwijderd

en in plaats van een while true kun je ook dat scriptje in je crontab zetten :) is beetje veel netter 8-)

*/1 * * * * /locatie/van/script.pl