Logovanie časov vypnutia počítača

Logovanie časov vypnutia počítača
« kdy: 16. 11. 2012, 12:06:23 »
Zdravím. Rád by som si spravil štatistiku kedy chodím spať a kedy vstávam. Zaspím po zaklapení notebooka a zobúdzam sa jeho otvorením... Okrem vypnutia robím aj suspend, alebo iný režim spánku, ak taký je. Bežím na Fedore 17, ale možno prejdem na Kubuntu/Mint. Spať chodím medzi 20:00 a 09:00. Môže sa stať, že notebook ráno neotvorím.

Logovanie môže prebiehať 2 spôsobmi, ešte neviem ktorý je vhodnejší:
  • Zapisovať časy každý deň do nejakého texťáku
  • Extrahovať časy na požiadanie z nejakých logov

S druhým je problém ako dlho ale tie logy v systéme vydržia? Lebo ak by sa zmazali tak sa zmaže aj štatistika. Mimochodom, ak by som si mohol generovať aj grafy tak by to bolo úplne super.

Nejaké skúsenosti s programovaním a bashom mám ale neviem ako na to. Prosím teda o nejaké rady/pripomienky/hinty. Prípadne existuje už takáto aplikácia?


kuka

Re:Logovanie časov vypnutia počítača
« Odpověď #1 kdy: 16. 11. 2012, 13:02:16 »
man last?

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Logovanie časov vypnutia počítača
« Odpověď #2 kdy: 16. 11. 2012, 13:06:00 »
Co takle to delat obracene a zjistit, kdy je zapnuty? Napriklad do syslogu se sype hafo udaju a kdyz je pocitac vypnuty, tak se nesype nic. Takze si to muzete obcas proparsovat a zjistit zacatky a konce. Akorat budete muset popremyslet o tom, jak to udelat, aby vam logrotate ten log neodsoupl pryc. Ale muzete si rozpakovat i predposledni log a parsovat pak ten + log aktualni.

Jenda

Re:Logovanie časov vypnutia počítača
« Odpověď #3 kdy: 16. 11. 2012, 13:09:13 »
man last?
Kód: [Vybrat]
jenda    pts/15       :0.0             Sun Nov  4 22:33   still logged in
No… ne.

Jenda

Re:Logovanie časov vypnutia počítača
« Odpověď #4 kdy: 16. 11. 2012, 13:10:39 »
Co takle to delat obracene a zjistit, kdy je zapnuty? Napriklad do syslogu se sype hafo udaju a kdyz je pocitac vypnuty, tak se nesype nic. Takze si to muzete obcas proparsovat a zjistit zacatky a konce. Akorat budete muset popremyslet o tom, jak to udelat, aby vam logrotate ten log neodsoupl pryc. Ale muzete si rozpakovat i predposledni log a parsovat pak ten + log aktualni.
Já bych dal normálně do cronu každých pět minut "date >> /var/log/foo". Pak se to, na rozdíl od syslogu, i dobře parsuje, a nezabere to tolik místa.


norwi

Re:Logovanie časov vypnutia počítača
« Odpověď #5 kdy: 16. 11. 2012, 14:31:30 »
muzes zkusit syslog-ng

1] nebo si v vytvorit soubor muj_log.log
/var/log/muj_log.log

a pomoci syslog-ng, logovat jen hlasky ktery chces. napr.
Kód: [Vybrat]
filter d_work {match ("^suspend" value ("PROGRAM");) and  match ("^shutdown" value ("PROGRAM");)};
destination df_work { file("/var/log/muj_log.log"); };
log {    source(s_all);    filter(f_work);    destination(df_work); };
2] logy ve /var/log/ se archivuji takze informace se nemazou

ps: za suspend a shutdown si dopln hlasky ktere se objevy v kdyz posles PC rezimu spanku, hibernace vypnuti

Re:Logovanie časov vypnutia počítača
« Odpověď #6 kdy: 16. 11. 2012, 14:49:36 »
Napadlo mi pozrieť /var/log/messages. Takto to vyzerá keď dám suspend:

Kód: [Vybrat]
Nov 16 14:37:03 mojNotebook dbus-daemon[711]: dbus[711]: [system] Rejected send message, 2 matched rules; type="method_return", sender=":1.1" (uid=0 pid=659 comm="/usr/lib/systemd/systemd-logind ") interface="(unset)" member="(unset)" error name="(unset)" requested_reply="0" destination=":1.22" (uid=1000 pid=873 comm="gnome-session ")
Nov 16 14:37:03 mojNotebook dbus[711]: [system] Rejected send message, 2 matched rules; type="method_return", sender=":1.1" (uid=0 pid=659 comm="/usr/lib/systemd/systemd-logind ") interface="(unset)" member="(unset)" error name="(unset)" requested_reply="0" destination=":1.22" (uid=1000 pid=873 comm="gnome-session ")
Nov 16 14:37:03 mojNotebook NetworkManager[646]: <info> sleep requested (sleeping: no  enabled: yes)
Nov 16 14:37:03 mojNotebook NetworkManager[646]: <info> sleeping or disabling...
Nov 16 14:37:03 mojNotebook NetworkManager[646]: <info> (wlan0): now unmanaged
Nov 16 14:37:03 mojNotebook NetworkManager[646]: <info> (wlan0): device state change: activated -> unmanaged (reason 'sleeping') [100 10 37]
Nov 16 14:37:03 mojNotebook NetworkManager[646]: <info> (wlan0): deactivating device (reason 'sleeping') [37]
Nov 16 14:37:03 mojNotebook NetworkManager[646]: <info> (wlan0): canceled DHCP transaction, DHCP client pid 787
Nov 16 14:37:03 mojNotebook kernel: [ 1855.936329] wlan0: deauthenticating from c4:3d:c7:97:8a:0d by local choice (reason=3)
Nov 16 14:37:03 mojNotebook kernel: [ 1855.960008] cfg80211: Calling CRDA to update world regulatory domain
Nov 16 14:37:03 mojNotebook avahi-daemon[648]: Withdrawing address record for 192.168.1.112 on wlan0.
Nov 16 14:37:03 mojNotebook avahi-daemon[648]: Leaving mDNS multicast group on interface wlan0.IPv4 with address 192.168.1.112.
Nov 16 14:37:03 mojNotebook NetworkManager[646]: <info> (wlan0): cleaning up...
Nov 16 14:37:03 mojNotebook NetworkManager[646]: <info> (wlan0): taking down device.
Nov 16 14:37:03 mojNotebook kernel: [ 1855.990796] cfg80211: World regulatory domain updated:
Nov 16 14:37:03 mojNotebook kernel: [ 1855.990801] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
Nov 16 14:37:03 mojNotebook kernel: [ 1855.990804] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
Nov 16 14:37:03 mojNotebook kernel: [ 1855.990806] cfg80211:   (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
Nov 16 14:37:03 mojNotebook kernel: [ 1855.990809] cfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
Nov 16 14:37:03 mojNotebook kernel: [ 1855.990811] cfg80211:   (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
Nov 16 14:37:03 mojNotebook kernel: [ 1855.990813] cfg80211:   (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
Nov 16 14:37:03 mojNotebook kernel: [ 1855.991010] cfg80211: Calling CRDA for country: SK
Nov 16 14:37:03 mojNotebook avahi-daemon[648]: Interface wlan0.IPv4 no longer relevant for mDNS.
Nov 16 14:37:03 mojNotebook avahi-daemon[648]: Withdrawing address record for fe80::9eb7:dff:fe69:ac37 on wlan0.
Nov 16 14:37:03 mojNotebook NetworkManager[646]: <info> (p5p1): now unmanaged
Nov 16 14:37:03 mojNotebook NetworkManager[646]: <info> (p5p1): device state change: unavailable -> unmanaged (reason 'sleeping') [20 10 37]
Nov 16 14:37:03 mojNotebook NetworkManager[646]: <info> (p5p1): cleaning up...
Nov 16 14:37:03 mojNotebook NetworkManager[646]: <info> (p5p1): taking down device.
Nov 16 14:37:03 mojNotebook dbus[711]: [system] Activating service name='org.freedesktop.nm_dispatcher' (using servicehelper)
Nov 16 14:37:03 mojNotebook dbus-daemon[711]: dbus[711]: [system] Activating service name='org.freedesktop.nm_dispatcher' (using servicehelper)
Nov 16 14:37:03 mojNotebook kernel: [ 1856.000822] cfg80211: Regulatory domain changed to country: SK
Nov 16 14:37:03 mojNotebook kernel: [ 1856.000828] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
Nov 16 14:37:03 mojNotebook kernel: [ 1856.000831] cfg80211:   (2402000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm)
Nov 16 14:37:03 mojNotebook kernel: [ 1856.000833] cfg80211:   (5170000 KHz - 5250000 KHz @ 40000 KHz), (N/A, 2000 mBm)
Nov 16 14:37:03 mojNotebook kernel: [ 1856.000834] cfg80211:   (5250000 KHz - 5330000 KHz @ 40000 KHz), (N/A, 2000 mBm)
Nov 16 14:37:03 mojNotebook kernel: [ 1856.000836] cfg80211:   (5490000 KHz - 5710000 KHz @ 40000 KHz), (N/A, 2700 mBm)
Nov 16 14:37:03 mojNotebook dbus-daemon[711]: dbus[711]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Nov 16 14:37:03 mojNotebook dbus[711]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Nov 16 14:37:03 mojNotebook chronyd[677]: Source 87.236.195.213 offline
Nov 16 14:37:03 mojNotebook chronyd[677]: Source 82.208.56.90 offline
Nov 16 14:37:03 mojNotebook chronyd[677]: Source 212.24.144.186 offline
Nov 16 14:37:03 mojNotebook chronyd[677]: Source 81.2.233.15 offline
Nov 16 14:37:04 mojNotebook kernel: [ 1856.841129] PM: Syncing filesystems ... done.

A takto sa to zobúdza:

Kód: [Vybrat]
Nov 16 14:37:16 mojNotebook kernel: [ 1857.217689] Freezing user space processes ... (elapsed 0.01 seconds) done.
Nov 16 14:37:16 mojNotebook kernel: [ 1857.228455] Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
Nov 16 14:37:16 mojNotebook kernel: [ 1857.239486] Suspending console(s) (use no_console_suspend to debug)
Nov 16 14:37:16 mojNotebook kernel: [ 1857.239841] sd 0:0:0:0: [sda] Synchronizing SCSI cache
Nov 16 14:37:16 mojNotebook kernel: [ 1857.239977] sd 0:0:0:0: [sda] Stopping disk
Nov 16 14:37:16 mojNotebook kernel: [ 1857.291459] pciehp 0000:00:1c.1:pcie04: pciehp_suspend ENTRY
Nov 16 14:37:16 mojNotebook kernel: [ 1857.415180] snd_hda_intel 0000:00:1b.0: power state changed by ACPI to D3hot
Nov 16 14:37:16 mojNotebook kernel: [ 1857.833777] PM: suspend of devices complete after 594.979 msecs
Nov 16 14:37:16 mojNotebook kernel: [ 1857.833875] PM: late suspend of devices complete after 0.096 msecs
atď.

Čiže toto by som mohol nejako využiť. Otázka je či to pôjde aj na buntu. Tiež neviem do akého formátu to ukladať (XML) ak chcem robiť grafy a ako ďaleko až siaha /var/log/messages... Rozmýšľal som ešte, či to nerobiť zachytávaním signálov na vypnutie v Cčku a nechať to spustené ako daemon, ale to bude asi ťažké spraviť. No proste zatiaľ len preskúmavam možné riešenia.

Re:Logovanie časov vypnutia počítača
« Odpověď #7 kdy: 16. 11. 2012, 15:12:59 »
Nechápem že si tu nemôžem editovať príspevky :(.
@norwi Ok, takže problém ako dostať do súboru časy vypnutia a zapnutia je vyriešený. Teraz už to len skonvertovať do nejakého formátu kde sa to dá zobraziť ako graf, napr v LibreOffice. Chcem si z toho totiž robiť štatistiky.

dustin

Re:Logovanie časov vypnutia počítača
« Odpověď #8 kdy: 16. 11. 2012, 15:43:04 »
Nebo si navázat skript na ACPI zaklapnutí a otevření očního víka a ignorovat mžikové změny - mrknutí :)

Jenda

Re:Logovanie časov vypnutia počítača
« Odpověď #9 kdy: 17. 11. 2012, 06:41:53 »
Nechápem že si tu nemôžem editovať príspevky :(.
@norwi Ok, takže problém ako dostať do súboru časy vypnutia a zapnutia je vyriešený. Teraz už to len skonvertovať do nejakého formátu kde sa to dá zobraziť ako graf, napr v LibreOffice. Chcem si z toho totiž robiť štatistiky.
Vyextrahuješ si časy, zkonvertuješ na unixový timestamp, ať se s tím dobře počítá (date -d "Nov 16 12:00:31" +%s), a vyneseš do grafu.

norwi

Re:Logovanie časov vypnutia počítača
« Odpověď #10 kdy: 17. 11. 2012, 17:23:51 »
co se tyce statisktik
doporucuji pak soubor přejmenovat
muj_log.log -> muj_log.csv

Libreoffice ma moznost importovat textove soubory a ty si jenom nastavis, kde budou budou sloupce(pevna cara).

tadeas

Re:Logovanie časov vypnutia počítača
« Odpověď #11 kdy: 18. 11. 2012, 12:12:47 »
Tohle by tě mohlo zajímat:
https://github.com/gurgeh/selfspy