Fischer-Bayern.de
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Uptime Protokoll

 
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
woif
•->
•->


Anmeldedatum: 16.05.2006
Beiträge: 6

BeitragVerfasst am: 16.05.2006 - 11:36    Titel: Uptime Protokoll Antworten mit Zitat

Hallo!
Ich versuche ein Skript zu schreiben, welches im Hintergrund läuft und die Uptime in einer Datei protokolliert.
Das ganze sollte folgendermassen funktionieren:
* ich schreibe beim Aufruf das aktuelle Datum in Zeile eins
* ich lasse eine Endlosschleife laufen und schreibe in Zeile 2 von null weg einen Zahlenwert der nach jedem delay 60 (also alle Minuten) um eins erhöht wird.

Das Problem ist nun: wenn das Datum gleich geblieben ist (zum Beispiel Login am Morgen und am Abend) soll in Zeile 2 fortgesetzt werden, für einen neuen Tag soll eine neue Zeile begonnen werden und das Datum wieder dabei stehen. wenn das Datum gleich ist, wie kann ich nach dem letzten Wert in dieser Datei gesucht werden?

Diese Datei soll ausserdem mit AS ausgewertet werden können (sprich wie lange war man an diesem Tag eingeloggt, wie lange in der letzten Woche/Monat).

Für Input und Hilfe wäre ich sehr dankbar!

woif
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
woif
•->
•->


Anmeldedatum: 16.05.2006
Beiträge: 6

BeitragVerfasst am: 16.05.2006 - 13:07    Titel: Antworten mit Zitat

Mein Beispielskript dokumentiert jetzt, aber es wird der alte Eintrag nicht überschrieben sondern immer eine neue Zeile begonnen!?!
repeat
set datei to open for access file ":Users:XYZ:Desktop:count.txt" with write permission
set datum to (current date) as string
set laufzeit to do shell script "uptime | cut -c 12-15"
write datum to datei starting at eof
write " " to datei
write laufzeit to datei
write "
" to datei
delay 60
close access datei

end repeat
set eof datei

wie kann ich das vermeiden? weiss jemand rat?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
iScript
•---->
•---->


Anmeldedatum: 29.03.2001
Beiträge: 1116

BeitragVerfasst am: 16.05.2006 - 18:40    Titel: Antworten mit Zitat

schreibe ein oder mehrere leicht wiederauffindbare zeichen mit in dein file.
dann kannst du vor dem schreiben den offset dieses zeichens/dieser zeichen ermitteln, und ab dort deine write-befehl start (offset of "diezeichenkette").
der writebefehl überschreibt standardmässig.
was soll denn genau überschrieben werden?
beispiel posten.

oder du ermittelst den offset der letzten zeile (wenn die letzte zeile überschrieben werden soll).
_________________
- anholn deit kriegen -
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
iScript
•---->
•---->


Anmeldedatum: 29.03.2001
Beiträge: 1116

BeitragVerfasst am: 16.05.2006 - 19:04    Titel: Antworten mit Zitat

oder einfach:

   write datum to datei with replacing*

(* komisch, dass "replacing" im scripteditor wie eine variable dargestellt wird? funktioniert aber)
_________________
- anholn deit kriegen -
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
till
•--->
•--->


Anmeldedatum: 21.04.2005
Beiträge: 187
Wohnort: q-town (R-P)

BeitragVerfasst am: 16.05.2006 - 19:26    Titel: Antworten mit Zitat

das is ja echt erstaunlich!
das is bestimmt wegen dem

open for access

denk ich mal
weil replacing is gibts bei finder und zb Text edit aber nid im standard suit
aber mit -open for acess- gehts .
_________________
ein berühmter Philosoph (<-Ich) sagte einmal:
" es ist nicht das Problem was uns Kopfzerbrechen macht,
es ist der Kopf selbst, der sich erdrückt"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
woif
•->
•->


Anmeldedatum: 16.05.2006
Beiträge: 6

BeitragVerfasst am: 17.05.2006 - 09:54    Titel: Antworten mit Zitat

Danke erstmal für eure ratschläge, replacing führt jedoch auch nicht zur gewünschten lösung. es geht dabei um folgendes:
* das skript wird bei systemstart geladen und läuft dann im hintegrund
* es wird das datum vermerkt, dann wird die uptime neben dem datum gespeichert
* da sich die uptime jede minute erhöht, soll der alte wert jeweils überschrieben werden
* starte ich den computer am nächsten tag so soll eine neue zeile angelegt werden mit dem dann aktuellen datum, daneben soll wieder die uptime geschrieben werden, wobei sich dann natürlich dieser wert kontinuierlich erhöhen soll

die log-datei sollte dann etwa so aussehen:
17. Mai 2006 2:34
18. Mai 2006 4:56
usw.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
woif
•->
•->


Anmeldedatum: 16.05.2006
Beiträge: 6

BeitragVerfasst am: 22.05.2006 - 23:35    Titel: Antworten mit Zitat

so - mein skript funktioniert (fast) wie gewünscht.

ein letztes problem ist jedoch noch übrig:
* das programm läuft in einer endlosen repeat-schleife mit delay 60
* will ich den computer runterfahren, so tut dieser das nicht, weil ja das AS-programm noch in der endlosschleife läuft.

wie kann ich das umgehen?

danke woif
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Forum Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2002 phpBB Group
Deutsche Übersetzung von phpBB.de


AppleScript für absolute Starter