PDA

View Full Version : Script che mostra le statistiche del pc


flapane
04-12-2006, 17:25
ho fatto questo piccolo script che mostra:
flapane@a64:~$ stats
PC statistic
-=[ Kernel info: 2.6.15-27-amd64-k8 ]=-
-=[ Ubuntu 6.10 ]=-
-=[ CPU Info: AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ ]=-
-=[ CPU Full: Detected 2565.530 MHz processor. ]=-
-=[ CPU Mhz: 1425.300 ]=-
-=[ CPU temperature: 35 C ]=-
-=[ Incoming/Outgoing: (81.6MiB) / (9.6MiB) ]=-
-=[ Used/Total memory: 562 MB / 1003 MB ]=-
-=[ Uptime: 2 hour, 7 min, 48 sec ]=-

magari può servire per chi è alle prime armi con superkaramba per estrarre direttamente da qua le statistiche, non so...

STATS.SH:

#!/bin/bash

b=`uname -r`
a=`cat /proc/cpuinfo | grep 'model name' | sed -e 's/.*: //' | tail --lines=1`
e=`cat /proc/acpi/thermal_zone/THRM/temperature | grep -i -F 'temperature:' | sed s/'.*erature: *'//`
f=`cat /etc/issue.net`
g=`/sbin/ifconfig eth0 | grep 'RX byte' | awk '{print $3 $4}'`
h=`/sbin/ifconfig eth0 | grep 'RX byte' | awk '{print $7 $8}'`
i=`free | grep '-' | awk '{print $3}'`
j=`free | grep 'Mem' | awk '{print $2}'`
k=`uptimemod`
l=`cat /proc/cpuinfo | grep 'cpu MHz' | sed -e 's/.*: //' | tail --lines=1`
x=`expr $i \/ 1024`
y=`expr $j \/ 1024`
m=`dmesg | grep -i -F 'processor.' | sed -e 's/.*] //' | tail --lines=1`

echo "PC statistic"

echo "-=[ Kernel info: $b ]=-"
echo "-=[ $f ]=-"
echo "-=[ CPU Info: $a ]=-"
echo "-=[ CPU Full: $m ]=-"
echo "-=[ CPU Mhz: $l ]=-"
echo "-=[ CPU Temperature: $e ]=-"
echo "-=[ Incoming/Outgoing: $g / $h ]=-"
echo "-=[ Used/Total memory: $x MB / $y MB ]=-"
echo "-=[ $k ]=-"


UPTIMEMOD.SH (preso dal web):
#!/bin/bash

# created by masterminds

a=`cat /proc/uptime | cut -d " " -f1`
b=`echo $a | cut -d "." -f1`
e=`expr $b \/ 86400`
f=`expr $b \% 86400`
g=`expr $f \/ 3600`
h=`expr $f \% 3600`
i=`expr $h \/ 60`
j=`expr $h \% 60`

if [ $e == 0 ]
then
if [ $g == 0 ]
then
echo "Uptime: $i min, $j sec"
else
echo "Uptime: $g hour, $i min, $j sec"
fi
else
if [ $g == 0 ]
then
echo "Uptime: $e day, $i min, $j sec"
else
echo "Uptime: $e day, $g hour, $i min, $j sec"
fi
fi




poi si rendono eseguibili e si mettono in /usr/bin

blackbit
04-12-2006, 21:37
lavoro interessante ;)

flapane
04-12-2006, 21:53
pensandoci potrebbe anche essere mandato come output su una pagina web di un server:cool:

SimonJ
04-12-2006, 22:03
pensandoci potrebbe anche essere mandato come output su una pagina web di un server:cool:

Scusate la mia ignoranza, questa cosetta come si potrebbe fare?

flapane
26-12-2006, 15:50
dovrei cercare sul libro del php5, uno dei metodi era da shell riversare l'ouput di stats su un file di testo, e poi nella pagina web dare un include("nomefile.txt");

metodi piu eleganti non ne ricordo

vizzz
26-12-2006, 17:09
se volete un bell'esempio....
phpsysinfo -> http://sourceforge.net/projects/phpsysinfo/

flapane
26-12-2006, 19:13
mentre scrivevo pensavo proprio a phpsysinfo, tempo fa cercammo di sostituire stats ad un qualsiasi cat /proc presente lì dentro, ma non ci sono stati che pochi minuti di tempo libero per provare

flapane
10-01-2007, 13:49
aggiunta la strina $m in stats

flapane
07-02-2007, 17:20
free al posto di meminfo per rilevazione ram più corretta
i=`free | grep '-' | awk '{print $3}'`
j=`free | grep 'Mem' | awk '{print $2}'`

HexDEF6
07-02-2007, 23:15
carino come progetto per imparare un po di bash sed grep awk....
unico appunto... sprecati un pochino di piu' col nome delle variabili! :D

P.S. se vuoi per generare una pagina html, basta che fai un echo dei tag che ti servono....

flapane
27-02-2007, 11:44
io non ne ho bisogno ma mi era stato chiesto da un amico con un server, m iera venuto solo in mente stats > stats.txt e poi includere il txt in una pagina php ma forse con echo è meglio:sofico:

flapane
11-09-2008, 19:10
up, creata anche la versione per Mac LINK (http://www.hwupgrade.it/forum/showthread.php?p=24065803#post24065803)

Pardo
11-09-2008, 19:44
Qualcuno per caso sa da cosa dipende /proc/acpi/thermal_zone ?
Da me non c'e` nulla li` ed e` sicuramente perche` manca qualcosa del kernel, che guardacaso ho ricompilato oggi dopo almeno 1 anno che non lo aggiornavo.
Ma non so cos'altro ci sia da mettere, oltre a:

$ zcat /proc/config.gz | fgrep -i thermal
# CONFIG_X86_MCE_P4THERMAL is not set
CONFIG_ACPI_THERMAL=y
CONFIG_THERMAL=y

flapane
11-09-2008, 19:49
ma sei sicuro che con un kernel precompilato (se ne hai uno su modello ubuntu) i valori appaiano? Potresti non avere i sensori, o averne con sonde non compatibili.

Pardo
13-09-2008, 04:54
Oddio se serve tutta la pappardella di lm_sensors non ce li ho no, ho skippato totalmente quella sezione.
E` solo che vedendo che l'opzione thermal zone e` in una delle sezioni principali, pensavo che con l'evolversi del supporto acpi potessero aver messo un'interfaccia unica senza quei 50mila driver diversi (che sul mio portatile non ne funzionava uno anyway).
Amen!

flapane
13-09-2008, 11:48
e si allora hai poco da fare...