Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #Naplnenie premennych
- nemas_vnstat="Pravdepodobne nemáš nainštalovaný vnstat\n možeš ho nainštalovať príkazom\n\n sudo apt-get install vnstat\n\n Alebo možeš použiť svoj obľúbený nástroj na inštaláciu balíčkov."
- nemas_font="Nemáš nainštalovaný font DejaVu Sans Mono čo môže spôsobyť že zobrazenie výsledkov vnstat nebude správne formátované.\nToto nieje generálna chyba ale môže pokaziť zážitok z použivania tohto skriptu. :D"
- nemas_kartu="V tvojom zariadení som nenašiel žiadnu sieťovú kartu."
- text_informacie="Tento jednoduchý skript slúži iba na to aby načítal dáta generované konzolovým programom vnstat a zobrazil ich v okne za pomoci programu zenity.\nRovnako sa snaží automaticky detekovať sieťové karty v zariadení kde ho spúšťaš.\n\n"
- cesta_k_databaze="$(cat /etc/vnstat.conf | grep -i "DatabaseDir" | sed 's/.*\"\(.*\)\".*/\1/')/"
- #Tato cast sa snazi zistit ci bezi vnstat
- cislo=$(ps -A | grep -ic vnstatd)
- if [ "$cislo" -lt 1 ]; then
- zenity --info --text="$nemas_vnstat" && exit
- fi
- #Tato cast zistuje ci je v systeme nainstalovany font DejaVu Sans Mono
- cislo=$(fc-list | grep -ioc "DejaVu Sans Mono")
- if [ "$cislo" -lt 1 ]; then
- zenity --info --text="$nemas_font"
- fi
- #Tato cast sa snazi najst sietove zariadenia
- #najde nazvy sietovych zariadeni a ulozi ich do premennej
- karta_zoznam=$(vnstat --iflist | sed 's/.*: \(.*\) (.*/\1/')
- #kontroluje ci je aspon jedna sietova karta
- if [ "$karta_zoznam" == "" ]; then
- zenity --info --text="$nemas_kartu"; exit 0
- fi
- #vyraduje sietove zariadenia ktore nemaju vytvorenu databazu v vnstat
- for meno_karty in $karta_zoznam ; do
- if [ "$meno_karty" != "" ]; then
- if [ "`find "$cesta_k_databaze" -name "$meno_karty"`" == ""$cesta_k_databaze""$meno_karty"" ]; then
- meno_karty1="$meno_karty"+"$meno_karty1"
- else
- karta_bez_databazy="$meno_karty"---"$karta_bez_databazy"
- fi
- fi
- zoznam_aktivnych_kariet=$(echo "$meno_karty1" | sed 's/+$//')
- done
- #Tato cast zobrazi okno s ponukou a vyber zapise do premennej
- vyber=$(zenity --list --text "Zvoľ formát zobrazenia." --radiolist --column "Výber" --column "Ponuka" FALSE "Denný" FALSE "Týždenný" TRUE "Mesačný" FALSE "Koniec" FALSE "Informácie" --height=250 --width=70)
- #Tato cast zobrazuje vysledky podla predchadzajucej volby
- [ "$vyber" == Denný ] && vnstat -d -i "$zoznam_aktivnych_kariet" | zenity --text-info --height=500 --width=700 --font='DejaVu Sans Mono'
- [ "$vyber" == Týždenný ] && vnstat -w -i "$zoznam_aktivnych_kariet" | zenity --text-info --height=500 --width=700 --font='DejaVu Sans Mono'
- [ "$vyber" == Mesačný ] && vnstat -m -i "$zoznam_aktivnych_kariet" | zenity --text-info --height=500 --width=700 --font='DejaVu Sans Mono'
- [ "$vyber" == Koniec ] && exit
- [ "$vyber" == Informácie ] && zenity --info --text="$text_informacie\n\nSieťové zariadenia detekovane systemom:\n Sieťové zariadenie 1. `echo "$zoznam_aktivnych_kariet" | sed 's/+/\n Sieťové zariadenie 2. /'`\n Karta/y bez databázy vo vnstat - "$karta_bez_databazy"\n\nPodrobnosti:\nCesta k databáze vnstat - "$cesta_k_databaze"\n\nifconfig\n`ifconfig`"
- exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement