[Megoldva] uptime rögzítés hogyan?

Fórumok

Sziasztok!
Szeretném rögzíteni hogy egy nap hány órát/percet megy a gép, és ezt havonta összesíteni, az uptime időt szeretném egy könnyen kezelhető -> xls fájlba összesíteni, statisztikákat készíteni...
Nem lenne baj ha rögzítené a dátum/időt is mondjuk így:

Date Login Logout Time
2012-06-20 18:00 22:00 04:00

...akár txt-be, aztán én havonta beillesztem egy xls-be.
Van erre egyszerű, gyors megoldás?
(kubuntu 12.04)

Előre is köszi a segítséget!

Hozzászólások

Uptime vagy logged time? nem ugyanaz a kettő :).
Ha lt kell, akkor a last a barátod... Meg persze a google ;)

Talán vagy biztosan? Van egy uptime parancs, de hogy korábban az egyes rebootok között meddig volt up a gép, azt már egy fokkal macerásabb megtudni.

Esetleg:


fisher@zsebi:~$ last reboot
reboot   system boot  3.2.0-0.bpo.2-68 Wed Jun 20 11:34 - 13:18 (1+01:43)   
reboot   system boot  3.2.0-0.bpo.2-68 Tue Jun 19 15:30 - 15:32  (00:02)    
reboot   system boot  3.2.0-0.bpo.2-68 Tue Jun 19 09:48 - 15:27  (05:39)    
reboot   system boot  3.2.0-0.bpo.2-68 Tue Jun 12 11:02 - 16:09 (2+05:06)   
reboot   system boot  3.2.0-0.bpo.2-68 Mon Jun 11 11:24 - 20:00  (08:36)    
reboot   system boot  3.2.0-0.bpo.2-68 Thu Jun  7 10:34 - 17:05 (1+06:30)   
reboot   system boot  3.2.0-0.bpo.2-68 Tue Jun  5 10:12 - 16:58 (1+06:46)
reboot   system boot  3.2.0-0.bpo.2-68 Mon Jun  4 10:26 - 19:03  (08:36)

Ha jól látom, a rendszer indulásának és kikapcsolásának idejét is rögzíti.

Példa sor:
reboot system boot 2.6.38-8-generic Sun Jun 10 06:38 - 23:30 (10+16:51)

Itt Június 10-én 06:38-kor lett bekapcsolva a gép. A zárójelben a plusz jel előtti szám a napok száma, mögötte az órák száma. Vagyis 10 nap, 16 óra és 51 percet ment a gép: június 20-án, 23:30-kor lett leállítva.

Húha, azért írtam a kezdőbe, mert ilyeneket nem tudok...
Nekem csak tényleg annyi kéne, hogy lássam mikor mennyit volt bekapcsolva a gépem, én úgyis belépek azonnal, stb... bár nem tudom mi sok különbség lehet uptime és logged time között.
Nem vagyok rendszergazda, sima felhasználó, erre is kell,
szeretnék könnyen, kevés munkával (sok automatizmussal) egy csinos xls-t kapni, hogy átlagot, min-maxot számítsak, ilyesmi.

Hát, ha már ennyire bonyolítod, akkor egy munin is monitorozza neked alapból az uptime-ot.
De szerintem legegyszerűbb shutdown script-ben kiíratni az 'uptime' kimenetét egy log file-ba, aztán azt később szépen fel lehet dolgozni.
Ha nagy gond, hogy az esetleges nem szabályos shutdown-ok esetén nem lesz adat, akkor lehet még annyival cifrázni, hogy cron-ból is kiíratod időnként.

"Én mondjuk elvetemült vagyok"
Egyetértek.

Localhostot pingelni minek? Ha fut a program, az éppen elég bizonyíték arra, hogy fut a számítógép is...
RRD-nek akkor van értelme, ha folyamatosan eteted nagyon sok adattal. Ez nem lehetséges, ha ki van kapcsolva a gép.

Mit már mások írták, a lastlog szépen gyűjti az adatot, amit már csak VPS-be kell konvertálni.

http://stackoverflow.com/questions/97137/how-do-you-run-a-script-on-log…

Valamit ilyet érdemes beszúrni a login scriptbe:


echo "Login: `date`" >> /home/user/in-out.txt"

Illetve ehhez hasonlót a logout scriptbe.

Nálam a .bashrc-ben illetve a .bash_logout-ban vannak a futtatandó dolgok.

Kiegészítés: Neked a .bashrc nem lesz jó, mert az minden shell indításkor lefut.

Kiegészítés2: Ha Kubuntut használsz, akkor ez nem lesz jó neked, mert akkor nem biztos, hogy lefut a .bash_profile.

-----
A kockás zakók és a mellészabások tekintetében kérdezze meg úri szabóját.

Szia!

Nem túl szép ugyan, de anno összetákoltam pont ilyen célra egy kis scriptet.

/bin/uptime2 szépen megadja, hogy az első futtatás óta mennyit ment a gép összesen nap:óra:perc formátumban.

Ha kell, kérlek írj egy privátot, és este előtúrom.

udv
letix

update.:

Hopp, nem olvastam el elég figyelmesen a kérésed. Az általam írott nem egészen ezt csinálja, ő a teljes bekapcsolási időt adja meg. De ha ráérek átírom, az alap már megvan.

-----------------------------------------
Linux alapparancsok, kezdőknek

Ubuntu alatt feltelepítheted az uptimed csomagot, az nyilvántartja. uprecords parancs írja ki. Példa:

root@srv1:~# uprecords -b
# Uptime | System Boot up
----------------------------+---------------------------------------------------
1 20 days, 02:13:49 | Linux 2.6.38-8-generic Sat Feb 18 21:34:03 2012
2 15 days, 05:36:27 | Linux 2.6.38-8-generic Sat Mar 10 13:13:54 2012
[...]

Annyit megemlítenék még a topicnyitónak, hogy az uprecords is, a last reboot is, és a hasonlók is tökéletesek, DEE csak addig ad megfelelő eredményt pl. az uprecords amig a kernel nem változik meg.
Tehát ha frissíted azt értelemszerűen a max futott napok 0-ra fognak csökkenni, szóval ne lepődj majdmeg :)

sar

kimenetéből az idő oszlop alapján is elkészíthető a statisztika esetleg.

cat /proc/uptime
man proc

/proc/uptime: This file contains two numbers: the uptime of the system (seconds), and the amount of time spent in idle process (seconds).

Előbbiből másodikat kivonod.

Én azt akarom tudni hogy mikor mennyit megy a gép, melyik nap hány órát.
Már kezdek megkavarodni mire jó az uptime meg a last...
(ha a fogalmakkal nem vagyok tisztában, összehasonlítani sem tudom őket...)
Este le tudok ülni a gép elé, és akkor megnézem az eddigieket. :-)
Mindenkinek köszönöm az eddigieket is!

Ha csak ennyi kell, akkor a dolog rém egyszerű. Írsz egy scriptet, ami kb. így néz ki:

#!/bin/bash
uptime >> /var/cache/uptime.txt

Ez be kell linkelni a kubuntu megfelelő rc könyvtárába, mondjuk a /etc/rc2.d/ alá, K00uptime néven, így ez akkor fog lefutni, amikor a kubuntu leállítja a 2-es runlevelen futó cuccokat. Minden leállásnál beírja az aktuális uptime adatokat a fájlba, ahonnét már tetszőleges módszerrel ki lehet szedni, pl.: awk '{print $3, "nap", $5}'

snmpvel is szepen dokumentalhatod magadnak

Megnéztem a last reboot és az uprecords -b -t is, mind a kettő jó, nem is tudom mi a különbség a kettő között azon túl, hogy az uprecords csak azt rögzíti, amióta feltelepítettem az uptimed csomagot.
Mindenkinek köszönöm a hozzászólást és a segítséget!

Az uptime csak a telepítése óta eltelt értékeket jegyzi. A háttérben fut egy daemon, ami beállított időközönként kiírja az aktuális uptime-ot egy fájlba. Így, ha netán lefagyna a rendszered, akkor is 1 perc pontossággal (ez az alapértelmezett naplózási sűrűség) tudni fogod, hogy mikor tette ezt.