Ich habe kürzlich heruntergeladen vnstat
, um die Nutzung meiner Internetbandbreite zu überwachen. Ich habe einen begrenzten Datentarif, aber mein ISP bietet außerhalb der Spitzenzeiten (2:00 bis 8:00 Uhr) eine nicht gemessene Bandbreite. Daher möchte ich, dass vnstat die Datennutzung getrennt kategorisiert, wobei die Nutzung zu Spitzenzeiten und die Nutzung außerhalb der Spitzenzeiten getrennt kategorisiert werden.
Ich habe durchgemacht man vnstat
, konnte aber diesbezüglich keine Hilfe finden. Wäre es möglich, zwei verschiedene Statistiken für Spitzen- und Nebenzeiten zu erhalten vnstat
? Wenn nicht, welche Alternativen stehen mir zur Verfügung, um dasselbe zu erreichen?
command-line
bandwidth
vnstat
Aditya
quelle
quelle
Antworten:
AFAIK kein Bandbreitenüberwachungstool ist besser als
vnstat
. Leider wird diese Funktion nicht unterstützt. Sie können dies jedoch erreichen, indem Sie mehrere Datenbanken für verwendenvnstat
.Speichern Sie die Daten für Spitzenzeiten bis
vnstat1
und für Nebenzeiten bisvnstat2
. Erstellen Sie ein Daemon-Skript, das sie basierend auf der Tageszeit unter Verwendung einerif
Bedingung in einer Endlosschleife wechselt. Wenn nicht zwischen 02-08 Stunden,vnstat1
sonst deaktivierenvnstat1
, aktivierenvnstat2
undsleep
.Ich habe das folgende Bash-Skript geschrieben. Speichern Sie es in einer Datei und machen Sie es mit ausführbar
sudo chmod x <filename>
. Testen Sie es für einige Zeit. Lassen Sie das Skript schließlich automatisch mit dem Betriebssystem starten. Führen Sie es alsroot
Benutzer aus. (Fügen Sie einfach den Pfad zum Skript hinzu,/etc/rc.local
damit es beim Booten ausgeführt wird.)Wechseln Sie
i=eth0
in der 5. Zeile zu der Netzwerkschnittstelle, die Sie überwachen möchten.Um zu wissen , die Nutzung laufen
cat /tmp/onpeak
undcat /tmp/offpeak
jeweils.Es ist auch eine gute Idee, die Daten in der Standarddatenbank (
/var/lib/vnstat
) zurückzusetzen, da sie niemals aktualisiert werden, wenn alles im Skript gut läuft.quelle
Hoffentlich hilft das ein bisschen.
Also werde ich Ihnen ein Programm geben, das ich geschrieben habe, weil ich Probleme mit der Arbeit mit Cron hatte. Ich kenne Shell-Scripting leider nicht, daher ist dies in Python, aber es hat bei mir funktioniert und es ist ziemlich einfach, aber nett. Entschuldigung, ich habe meinen Code nicht kommentiert, aber ich wollte ihn wirklich nicht noch einmal durchgehen. Ich weiß, dass einige Teile vielleicht nicht die besten sind, aber es funktioniert.
Kurzanleitung
Leerlauf öffnen, kopieren> einfügen.
Speichern unter
filename.py
.Terminal öffnen.
Führen Sie es mit Python 3 (python3 filename.py`) aus.
Geben Sie die Stunde ein, für die vnstat ausgeführt werden soll.
Geben Sie die gewünschte Minute für diese Stunde ein.
Geben Sie die Anzahl der Stunden an, die überwacht werden sollen.
Geben Sie die Anzahl der Minuten an, auf die überwacht werden soll.
Geben Sie das Gerät ein, das Sie überwachen (ich habe keine Fehlerprüfung durchgeführt. Wenn Sie also etwas wie monkeybutt eingeben, wird es
vnstat -i monkeybutt
alle 15 Sekunden ausgeführt, nur Ctrl+ Cout).Das Programm wird alle 15 Sekunden durchlaufen, um festzustellen, ob die Zeit übereinstimmt. Es werden keine Nachrichten ausgegeben. Es soll im Hintergrund laufen. Sobald es gestartet ist, wird alle 15 Sekunden eine Aufnahme des Netzwerks auf dem von Ihnen ausgewählten Gerät gemacht. Verwenden Sie den Befehl vnstat sowie einen Zähler, der angibt, wie viele Sekunden noch für die Überwachung übrig sind.
Nach Abschluss der Scans werden Sie gefragt, ob Sie das Programm beenden möchten, und Sie erhalten eine Option, wenn Sie einen Bericht anzeigen möchten. Andernfalls können Sie das Programm einfach beenden. Das ganze Zeug wird sowieso in der vnstats-Datenbank gespeichert.
Alter Teil des Beitrags (kann für einige Leute hilfreich sein)
Sie können den Gnome-Zeitplan abrufen, dann Ihren Befehl eingeben, z. B. vnstat -h, und festlegen, dass er zu Zeiten, die Sie überwachen möchten, erneut auftritt. Vielleicht zu einfach, aber hoffentlich könnte jemand anderes weiter expandieren.
Zusätzlich (Bearbeiten): Ich habe vnstat nicht sehr oft verwendet, weshalb ich gehofft hatte, dass jemand diesen Teil erweitern könnte, aber mit dem Gnome-Zeitplan können Sie einen Befehl planen, der während bestimmter Teile des Tages ausgeführt wird. Wenn Sie also vntstat -tr -l (Verkehrsschalter, Live-Verkehr überwachen) verwenden, wird der Verkehr während der Ausführung angezeigt (was Sie im Gnome-Zeitplan planen können, aber möglicherweise manuell Ctrl+ C] ausgeben müssen.)
Andernfalls können Sie dies sicher in eine Datei weiterleiten oder das grafische Ausgabeprogramm für vnstat verwenden, wenn Sie dies haben. Das grafische Ausgabeprogramm gibt
vnstati -i 'filename'
es in eine PNG-Datei aus. Wenn Sie weitere Befehle wünschen, hatvnstat --longhel
p mehr Befehle.(Beispielbildschirm, wie man Dinge in den Gnom-Zeitplan einfügt.)
Wissen Sie, wie Sie mit vnstat bereits einen "Schnappschuss" der Bandbreite erstellen können, oder benötigen Sie weitere Hilfe zu diesen Befehlen? Ich kann versuchen, mehr mit dem Programm zu arbeiten.
quelle