Strona 1 z 1
bash - informacje o systemie
: 09 maja 2008, 21:13
autor: Pakos
Potrzebuje za pomoca basha wydobyc kilka informacji o systemie, interesuja mnie takie rzeczy:
% uzycia cpu, aktualne mhz, uzyty ram, uzyty swap, uptime, up i dl z neta, uzyte miejsce na dysku.
Wiem ze np uptime moge dostac z apomoca komendy uptime ale jak pozbyc sie reszty niepotrzebnych informajci? (czas, users, load average).
Wszelkie informacje mile widziane, gotowe komendy, linki itd. Gogluje na ten temat wiec moze tez cos znajde samemu.
: 09 maja 2008, 22:00
autor: vikus
prawie wszystko masz w poleceniu top ale do pamieci mozesz tez uzyc free -m
ifconfig
: 09 maja 2008, 22:37
autor: Pakos
z tym ze top po wlaczeniu dziala caly czas tak?
a ja chcialbym tylko wypisac dane,
czyli np:
dla godziny robie tak: date +%k:%M:%S
dla uptime doszedlem do tego: uptime | awk '{print $3}' - z tym ze tutaj wypisujac pozycje 3 dodaje takze przecinek na koncu, da sie go usunac?
mem: free -m | awk '{print $3}' | grep -n 3 - drukuje used memory ale w akiej postaci: 3:xxx, jak sie pozbyc tej 3 czyli nr linii? moze cos innego niz grep?
: 09 maja 2008, 22:45
autor: Inquistor
Kod: Zaznacz cały
uptime | awk '{print $3}' | cut -d ',' -f 1
coś takiego wykombinowałem
Co do drugiej komendy (free) to u mnie nie wyświetla nic
Ale możesz zrobić to tak samo - czyli jeżeli jest 3:xxx to polecenie
cut -d ':' -f 2 powinno Ci zwrócić samo xxx
: 09 maja 2008, 22:55
autor: Pakos
wlasnie zauwazylem ze free rocnie sie wyswietla czyli to grep cos nie dziala poprawnie, bez tego format jest taki:
dla mem chce wydobyc przedostatnia linijke, a dla swp ostatnia

: 09 maja 2008, 22:56
autor: vikus
Pakos pisze:z tym ze top po wlaczeniu dziala caly czas tak?
tak ale mozna zrobic "zrzut"
z tym uptime to jest bardziej skompikowane niz myslisz bo jak bedziesz mial uptime wiecei niz jeden dzien to zmienia sie sposob wieswietlania wyniku
: 09 maja 2008, 22:59
autor: Pakos
a jak jest wyswietlane?
na razie mam cos takiego:
Kod: Zaznacz cały
#!/bin/bash
time=`date +%k:%M:%S`
uptime=`uptime | awk '{print $3}' | cut -d ',' -f 1`
cpu=`cat /proc/cpuinfo | grep MHz | awk '{print $4}'`
echo "Time:" $time "| Cpu:" $cpu "Mhz | Up:" $uptime
wyswietla
Kod: Zaznacz cały
Time: 0:04:10 | Cpu: 1000.000 Mhz | Up: 12:53
jak usunac kropke i zera z Mhz?
z uptime bede musial poczekac na 1 dzien najwidoczniej, nadal nie wiem co dalej z mem i swp. Poki co zbaieram sie za szukanie reszty

: 10 maja 2008, 08:25
autor: Inquistor
Dla CPU
Kod: Zaznacz cały
cat /proc/cpuinfo | grep MHz | awk '{print $4}' | cut -d '.' -f 1
Ta sama zasada co wyżej.
: 10 maja 2008, 10:33
autor: vikus
mem and swap
Kod: Zaznacz cały
top -bn 1 | head -5 | grep Mem: | awk '{print $4}'
top -bn 1 | head -5 | grep Swap: | awk '{print $4}'
lub
Kod: Zaznacz cały
free -m | grep Mem: | awk {'print $3'}
free -m | grep Swap: | awk {'print $3'}
cpu
Kod: Zaznacz cały
top -bn 1 | head -5 | grep Cpu | awk '{print $2}' | cut -d '%' -f 1
Pewnie da sie prosciej wyciagnac te dane ale ja znam ten sposób

a do dysku
: 10 maja 2008, 11:20
autor: Pakos
Inquistor pisze:Dla CPU
Kod: Zaznacz cały
cat /proc/cpuinfo | grep MHz | awk '{print $4}' | cut -d '.' -f 1
Ta sama zasada co wyżej.
fakt, dzieki ]mem and swap
Kod: Zaznacz cały
top -bn 1 | head -5 | grep Mem: | awk '{print $4}'
top -bn 1 | head -5 | grep Swap: | awk '{print $4}'
lub
Kod: Zaznacz cały
free -m | grep Mem: | awk {'print $3'}
free -m | grep Swap: | awk {'print $3'}
cpu
Kod: Zaznacz cały
top -bn 1 | head -5 | grep Cpu | awk '{print $2}' | cut -d '%' -f 1
Pewnie da sie prosciej wyciagnac te dane ale ja znam ten sposób

a do dysku
[/quote]
z tego co zauwazylem to poleceni top raczej nie sprawdzi sie. Mozliwosci spore ale za kazdym wywolaniem uzycie proca podskakuje do 25 % a to sie moja z celem, jezeli niema innego sposobu na wydobycie "%" to pozostane przy samych Mhz z /proc/cpuinfo.
dla mem i swp uzylem free mem oczywiscie, z dyskami df -h
