lu.se

Datavetenskap

Lunds Tekniska Högskola

Denna sida på svenska This page in English

logger.sh

Image of logger running

Om logger.sh

logger.sh listar alla de tjänster som finns i inställningspanelen ”Delning” (”Sharing”) i Systeminställningar på Mac OS X. Det är utvecklat under 10.6, men bör fungera på 10.5.

Två saker är värda att notera:
1. AFP (”Fildelning”) har i normalfallet ingen loggning alls! Detta måste sättas på manuellt (se http://cs.lth.se/kontakt/peter_moller/unix/applefileserver/)
2. Datumformaten skiljer mellan de olika funktionerna. Att det presenteras olika är alltså (tyvärr) som det skall vara!

Installation

  1. Hämta scriptet från http://fileadmin.cs.lth.se/cs/Personal/Peter_Moller/scripts/logger_install.sh
  2. Starta Terminal.app
  3. Bli root: om du är en vanlig användare skriver du sudo adminanvändarnamn och sedan sudo -i; om du är admin-användare skriver du bara sudo -i
  4. Sätt accessrättigheter på scriptet:
    chmod 755 logger_install.sh (du måste leta upp var det finns)
  5. Kör scriptet:
    ./logger_install.sh
  6. Installationen går normalt snabbt. Om du inte har GeekTool installerat så hämtas det och dess skivavbild öppnas. För att installera GeekTool, dubbelklicka på dess .PrefPane
  7. I GeekTool: klicka på ikonen som det står ”Shell” under och drag ut på en del tomt skrivbord (måste vara tomt annars vill den inte). Drag den så stor som du vill ha den och där du vill ha den.
  8. Det dyker upp ett ”Properties”-fönster. Det du behöver fylla i här är:
    • Command: /bin/logger.sh
    • Refresh every: 300 s
    • Byt typsnitt till ett du tycker om (jag använder Optima)
  9. Nu kan du stänga GeekTool

Notera att GeekTool inte flyttar runt sitt innehåll om du ändrar antalet skärmar etc. (t.ex. med en bärbar dator som har en extern skärm). Däremot blir dess fönster åter synligt när skärmgeometrien återställs!

Notera även att scriptet automatiskt kommer att starta efter en omstart!

 

sha1-checksumma för logger.sh:

Manuell installation

Lägg logger.sh i /bin och se.lth.cs.logger.plist i /Library/LaunchDaemons.

Starta sedan (som root) den senare med launchctl:
launchctl load /Library/LaunchDaemons/se.lth.cs.logger.plist
launchctl start se.lth.cs.logger
(se till att filen ägs av root:wheel och har accessrättighet 644)

 

Uppdatering

Man uppdaterar scriptet (manuellt) genom att som root i ett terminalfönster skriva:
logger.sh -u

Den kommer då att hämta ner den senaste versionen av scriptet och installera det (om den är annorlunda än den du har). Har du redan den senaste versionen kommer den berätta det!

Alternativt kan du själv göra detta som root:
curl fileadmin.cs.lth.se/cs/Personal/Peter_Moller/scripts/logger.sh > /bin/logger.sh
chmod 755 /bin/logger.sh

 

Beskrivning av komponenterna

De ingående komponenterna är dessa:

/bin:
logger.shScriptet som körs av både bakgrunds-datasamlaren och av GeekTool (och användaren)
/Library/LaunchDaemons:
se.lth.cs.logger.plistStyrscript till launchd; gör så att logger.sh-scriptet körs var 300:e sekund och samlar data
/Library/cs.lth.se:
ip_cache.txtVäxande lista över IP-nummer och dessas geografiska lokation (för att snabba upp körningen av scriptet)
Samanvänds av många script!!
/Library/cs.lth.se/Logger:
Sharing.txtTextfil med den senaste datainslamlingen