Skripta za logovanje pokrenutih aplikacija u sessionu (pomoc

Skripta za logovanje pokrenutih aplikacija u sessionu (pomoc

offline
  • Pridružio: 20 Feb 2005
  • Poruke: 4505
  • Gde živiš: planeta Zemlja

Zelim da napisem skriptu koja ce za cilj imati da loguje sve akcije na racunaru. Pod tim podrazumevam:
- promene u hardveru (dodavanje novih uredjaja i sl.)
- listu softvera koji je pokrenut za to vreme (to vreme je period od ukljucivanja do iskljucivanja racunara)

Dakle ovo mu dodje kao neki parental control Smile
Skripta bi bila pokrenuta u pozadini kada god se sistem pokrene (ako imate bolju ideju predlozite je) i samim tim bi svaki put cuvala output. Ono sto mene brine jeste cinjenica, da ako budem koristio tail komandu non-stop u pozadini, da cu opterecivati procesor i to previse.

Ono sto mene zanima:
- koje komande da koristim za ovo (dmesg moze za hardverske promene i jos neke komande ali sta za pracenje aplikacija?)
- kako da resim problem real-time logovanja? (da li da koristim tail non-stop ili da mixujem sa sleep komandom?)

Za opciju za brisanje logova posle 15 dana sam resio problem (ima opcija u date komandi tipa "after 15 days" koju vec uveliko koristim u drugoj skripti).



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • bocke  Male
  • Moderator foruma
  • Glavni moderator Linux foruma
  • Veliki Pingvin
  • Guru
  • Pridružio: 16 Dec 2005
  • Poruke: 12486
  • Gde živiš: Južni pol

Tvoj sistem već dolazi sa system loggerom. Wink Overi /var/log/syslog za vrstu informacija koju loguje. Takođe overi /var/log/dmesg. Za problem sa "narastanjem" logova pogledaj komandu logrotate (manual: http://www.linuxcommand.org/man_pages/logrotate8.html ).

E sad. I dalje ne kapiram šta si hteo da uradiš. Da loguješ aktivnost aplikacija u Gnome sesiji?



offline
  • Pridružio: 20 Feb 2005
  • Poruke: 4505
  • Gde živiš: planeta Zemlja

Da. Zelim da logujem sve aplikacije koje su pokrenute u toku sessiona (koristim gdm pa recimo da moze od logina do logina) i sve promene u hardveru. Zelim da sve to probam da resim preko skripte pa trazim nacin za to...

Dakle, kada se ja ulogujem i pokrenem openoffice, geany, firefox, nano, tildu i jos neku aplikaciju, da se to sacuva u neki fajl. Kada u toku tog sessiona ubacim usb storage disk da se to loguje. Nadam se da je sada jasnije Smile

offline
  • bocke  Male
  • Moderator foruma
  • Glavni moderator Linux foruma
  • Veliki Pingvin
  • Guru
  • Pridružio: 16 Dec 2005
  • Poruke: 12486
  • Gde živiš: Južni pol

Koje bi ti hardverske/softverske aktivnosti logovao? Meni se čini (po onome što si opisao) da tebi treba neki logger dbus poruka. Nisam siguran da li tako nešto postoji.

Dopuna: 20 Mar 2009 12:53

Btw, ako tako nešto planiraš, mnogo je bolje da upotrebiš Python ili Perl koristeći DBus bindings.

Dopuna: 20 Mar 2009 12:56

Perl:
http://search.cpan.org/~danberr/Net-DBus-0.33.1/lib/Net/DBus.pm
http://search.cpan.org/~danberr/Net-DBus-0.33.1/lib/Net/DBus/Tutorial.pod

Python:
http://dbus.freedesktop.org/doc/dbus-python/doc/tutorial.html

offline
  • Pridružio: 20 Feb 2005
  • Poruke: 4505
  • Gde živiš: planeta Zemlja

Ne. Koristio bih dmesg | tail za jednostavno pracenje (tako mogu da vidim da li je neko ubacivao usb memoriju dok ja nisam bio tu). Ne bih da se zamlacujem sa dmesg Smile

E sad pitanje je da li dmesg moze da prati pokretanje aplikacija!? Ako moze onda cu da ispetljam nesto u pitonu ali mozda moze koriscenjem basha da se nesto izvede...

offline
  • bocke  Male
  • Moderator foruma
  • Glavni moderator Linux foruma
  • Veliki Pingvin
  • Guru
  • Pridružio: 16 Dec 2005
  • Poruke: 12486
  • Gde živiš: Južni pol

Ja imam svoj način na koji bih to odradio, ali neću da forsiram. Evo ti literatura pa prelistaj i razradi na način koji si počeo:

http://linux.die.net/man/1/dmesg
http://linux.die.net/man/1/top
http://en.gentoo-wiki.com/wiki/HOWTO_Autostart_Programs

offline
  • Pridružio: 20 Feb 2005
  • Poruke: 4505
  • Gde živiš: planeta Zemlja

Ajde Bojane, obrazlagaj taj nacin Smile
Sve bih da cujem posto me zaista interesuje a i zanimljivo je Wink

Dopuna: 21 Mar 2009 17:31

covece... ne bih se ni setio top komande koja moze mnogo toga Embarassed

offline
  • bocke  Male
  • Moderator foruma
  • Glavni moderator Linux foruma
  • Veliki Pingvin
  • Guru
  • Pridružio: 16 Dec 2005
  • Poruke: 12486
  • Gde živiš: Južni pol

Možda kasnije. Hajde prvo da razradimo ovu tvoju ideju. Wink

Možda će ti i ovo koristiti:
http://linux.die.net/man/8/lsof

E sad. Da obrazložim linkove:

dmesg - postavio sam da vidiš šta jeste, a šta nije. dmesg je samo output poruka kernela. U njega ne možeš dodavati nove poruke.

top - ima vrlo širok spektar opcija. Napr: prikazivanje procesa koje je pokrenuo samo jedan korisnik. Zašto bi ovo bilo korisno. Ako je tvoj user jedini na kompu, možeš jednostavno zaobići logovanje sistemskih procesa ako loguješ samo procese koji su korisnički pokrenuti. Takođe, obrati pažnju na opcije -b i -n. Batch režim (-b) uključuje režim koji omogućava vrlo lako upisivanje u spoljnu (log) datoteku. "-n" opcija je broj iteracija. Ostatak vidi u manualu

lsof - prikazuje sve otvorene fajove. Zašto bi te to interesovalo? Ako bi mogao da povežeš procese iz outputa top komande, mogao bi da znaš koje datoteke, uređaje, itd je koja aplikacija koristila.

Autostart informacije - skript staviš u gnome autostart folder ($HOME/.gnome/autostart ?). On će se pokretati i gasiti pri pokretanju i gašenju Gnome sesije.

Ko je trenutno na forumu
 

Ukupno su 617 korisnika na forumu :: 8 registrovanih, 3 sakrivenih i 606 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: cikadeda, gorantrojka, HrcAk47, Kenanjoz, Kruger, Pohovani_00, sovanova95, Vitomir