Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>Snow Leopard: "monthly.out" fehlt

Snow Leopard: "monthly.out" fehlt

andreas_g
andreas_g16.06.1019:54
Unter Mac OS X laufen in regelmäßigen Abständen (täglich, wöchentlich, monatlich) bestimmte Scripts ab, welche das System von temporären, nicht mehr benötigten Dateien und log-Files befreit.
Protokolle der Wartungsarbeiten werden im Verzeichnis /var/log in den Dateien "daily.out" (tägliche Aufgaben), "weekly.out" (wöchentliche Aufgaben) und "monthly.out" (monatliche Aufgaben) abgelegt.

Die Ausführung dieser Maintenance-Scripts sollte unter Mac OS X v10.6 zuverlässig nachgeholt werden, auch wenn der Computer zum festgelegten Zeitpunkt ausgeschaltet oder im Ruhezustand war.

Dies scheint bei mir aber aus irgend einem Grund nicht der Fall zu sein!

Mac OS X v10.6 wurde im September 2009 installiert (auf eine leere Festplatte).

Der letzte Eintrag in "daily.out" stammt vom 5. April und auch davor sind die Abstände teilweise mehrere Wochen groß.

"weekly.out" hat nur 2 Einträge (30. Januar und 13. Feburar)

"monthly.out existiert überhaupt nicht, wurde also noch gar nicht durchgeführt.

ls -al /var/log/*.out
-rw-r--r--  1 root  wheel  10247  5 Apr 12:23 /var/log/daily.out
-rw-r--r--  1 root  wheel    174 13 Feb 08:24 /var/log/weekly.out

Ich weiß, dass die Scripts auch manuell ausgeführt werden können, aber es würde mich interessieren, was bei mir schief läuft, dass die Scripts nicht automatisch ausgeführt werden.

Hat jemand ähnliche Probleme?
Wie funktioniert es bei euch?

0

Kommentare

sierkb16.06.1023:13
Ich weiß, dass die Scripts auch manuell ausgeführt werden können, aber es würde mich interessieren, was bei mir schief läuft, dass die Scripts nicht automatisch ausgeführt werden.

Es gibt Konstellationen/Situationen, da greift das periodische Abarbeiten/Nachholen nicht. Das ist zum Beispiel der Fall, wenn Dein Rechner zu der Zeit, wo das betreffende System-Skript eigentlich abgearbeitet werden sollte bzw. launchd das anstoßen sollte, entweder schläft (im Ruhezustand ist) oder ausgeschaltet ist. Zum Beispiel nachts.

Und wenn das eben öfters passiert bzw. regelmäßig, dann werden diese Skripte, die in diese Zeit fallen, eben auch nicht abgearbeitet (und somit dann auch nicht die betreffenden Logdateien erneuert/geschrieben.

Schau Dir mal die einzelnen launchd-Einträge (com.apple.periodic-daily.plist, com.apple.periodic-monthly und com.apple.periodic-weekly) unter /System/Library/LaunchDaemons genauer an (z.B. via Lingon), die dafür zuständig sind und schau auf deren Uhrzeiten, wann launchd da normalerweise angewiesen ist, hier tätig zu werden und die zugehörigen Skripte unter /private/etc/periodic abzuarbeiten. Wenn der Zeitpunkt immer verpasst wird bzw. nie eintritt, wo ein solches Abarbeiten eigentlich stattfinden soll, ja dann bleibt's halt solange liegen, bis mal ein Zeitpunkt erwischt wird, wo's endlch mal greift.

Erreichen könnte man so einen Zeitpunkt z.B. auch dadurch, indem man den Rechner einfach mal öfters nachts durchlaufen lässt (wenigstens bis zu dem Datum und der Uhrzeit bzw. leicht darüber hinaus, wo diese Skripte laut launchd Plist-Eintrag die daily, weekly und monthly-Skripte abgearbeitet werden sollen) -- ohne ihn schlafenzulegen. Oder man holt's eben ab und zu mal manuell nach.

Manuell führt man das im Terminal z.B. mit
sudo periodic daily weekly monthly
durch (um sudo absetzen zu können, muss man sich ggf. vorher erstmal in die Rolle des Admins begeben haben bzw. mit 'su admin' seine Rolle gewechselt haben).

Dass und wie die Logfiles der Periodic-Skripte sich aktualisiert haben, kannst Du davor und danach z.B. mit
ls -al /var/log/*.out
nachprüfen.
0
Marcel Bresink17.06.1012:08
welche das System von temporären, nicht mehr benötigten Dateien und log-Files befreit.

Das ist ab Snow Leopard nicht mehr so. Diese Skripten haben so gut wie keine Bedeutung mehr und sind mehr oder weniger überflüssig.
Die Ausführung dieser Maintenance-Scripts sollte unter Mac OS X v10.6 zuverlässig nachgeholt werden, auch wenn der Computer zum festgelegten Zeitpunkt ausgeschaltet oder im Ruhezustand war.

Nein, auch das stimmt nicht, selbst wenn dieser Irrtum immer und immer wieder falsch verbreitet wird. Wenn der Computer nachts ausgeschaltet ist, laufen diese Skripten nie (und sollen es auch nicht). Nachgeholt wird nur, wenn der Computer eingeschaltet, aber im Ruhezustand war.
0
sierkb17.06.1012:22
Marcel Bresink
welche das System von temporären, nicht mehr benötigten Dateien und log-Files befreit.

Das ist ab Snow Leopard nicht mehr so. Diese Skripten haben so gut wie keine Bedeutung mehr und sind mehr oder weniger überflüssig.

Was machen Deiner Meinung nach z.B.

/private/etc/periodic/daily/*100.clean-logs
/private/etc/periodic/daily/*110.clean-tmps
/private/etc/periodic/daily/*130.clean-msgs

?

Werden die Deiner Meinung nach nun regelmäßig (täglich) abgearbeitet oder nicht?

Mal abgesehen von newsyslog bzw. /etc/newsyslog.conf und den Dateien in /private/etc/newsyslog.d und der Möglichkeit, bestimme Logfiles automatisch rotieren und komprimieren zu lassen, wenn sie eine bestimmte Größe erreicht oder ein bestimmtes Datum überschritten ist.
0
Duck Dodgers17.06.1012:53
sierkb
Es gibt Konstellationen/Situationen, da greift das periodische Abarbeiten/Nachholen nicht. Das ist zum Beispiel der Fall, wenn Dein Rechner zu der Zeit, wo das betreffende System-Skript eigentlich abgearbeitet werden sollte bzw. launchd das anstoßen sollte, entweder schläft (im Ruhezustand ist) oder ausgeschaltet ist. Zum Beispiel nachts.

Und wenn das eben öfters passiert bzw. regelmäßig, dann werden diese Skripte, die in diese Zeit fallen, eben auch nicht abgearbeitet (und somit dann auch nicht die betreffenden Logdateien erneuert/geschrieben.

Das ist nicht ganz richtig! Launchd Objekte, die zu einem Zeitpunkt ausgeführt werden sollen, wenn der Mac gerade im Ruhezustand ist, werden später ausgeführt. D.h. wenn der Mac wieder aus dem Ruhezustand aufwacht, läuft der job.

Siehe "Introduction to System Startup Programming Topics":
... As a result, if your computer is asleep at the scheduled time, in Mac OS X v10.3 and earlier, the job does not run; in Mac OS X v10.4 and later, the job executes automatically when the computer wakes up. For this reason, you should not assume that a job will run at a particular time or on a particular day. ...

0
sierkb17.06.1013:00
Duck Dodgers
Launchd Objekte, die zu einem Zeitpunkt ausgeführt werden sollen, wenn der Mac gerade im Ruhezustand ist, werden später ausgeführt. D.h. wenn der Mac wieder aus dem Ruhezustand aufwacht, läuft der job.

Das soll bzw. sollte theoretisch so sein... Theoretisch. Ist es das denn auch in der Praxis und vor allem zu jeder Zeit und in jeder Konstellation in der Praxis so?
Habe da zuweilen bisher andere Erfahrungen gemacht und lese drüber, dass auch andere offenbar ab und zu diese Erfahrung gemacht haben bzw. machen (erst recht unter 10.4 und 10.5 (launchd wurde ja erst mit 10.4 eingeführt und dann nach und nach verbessert), unter 10.6 hat sich's stark gebessert, ist aber manchmal immer noch nicht zu 100% zuverlässig), dass Theorie und Praxis manchmal leider nicht übereinstimmen. Papier ist geduldig.
0
Duck Dodgers17.06.1013:09
Das kann gut sein, dass es nicht bei jedem klappt. Mir persönlich ist das aber nicht aufgefallen.
0
Marcel Bresink17.06.1018:36
sierkb
Was machen Deiner Meinung nach z.B.

/private/etc/periodic/daily/*100.clean-logs
/private/etc/periodic/daily/*110.clean-tmps
/private/etc/periodic/daily/*130.clean-msgs

?

Das sind Überbleibsel aus vergangenen Zeiten, die in Snow Leopard (fast) nichts tun, da andere Systemdienste die Arbeit übernommen haben. (Mit anderen Worten: Die kommen diesen Skripten zuvor.) Noch nützlich, um z.B. Lock-Files von abgestürzten X11-Sitzungen zu bereinigen, was aber nur für wenige Anwender interessant sein dürfte ...
sierkb
Werden die Deiner Meinung nach nun regelmäßig (täglich) abgearbeitet oder nicht?

Wie schon erwähnt: Wenn der Computer nachts um 3:15 Uhr eingeschaltet ist, ja, sonst nicht.
0
sierkb17.06.1018:53
Marcel Bresink:
Das sind Überbleibsel aus vergangenen Zeiten, die in Snow Leopard (fast) nichts tun, da andere Systemdienste die Arbeit übernommen haben.

Und welcher Dienst, welche Skripte haben das konkret übernommen? An welcher Stelle genau? Bitte um entspr. Hinweise bzw. Pfade und Dateinamen.


Abgesehen davon und andere Thema: weißt Du, ob und wie es möglich ist, newsyslogd fürs Logrotate und Komprimieren alter Logfiles beizubringen, dass er das nicht nur für ausgesuchte System-Logfiles machen soll, sondern auch für ausgesuchte Logfiles des Benutzers in ~/Library/Logs, die ja zuweilen auch ganz schön anwachsen können? Habe da da zwar eine Lösung ersonnen, die auch funktioniert, aber die betreffende Konfiguration sitzt bei mir systemweit in /etc/newsyslog.d zusätzlich zu den vom System angelegten Dateien, die da eh schon vorhanden sind. Habe da ein nicht so sauberes Gefühl, wenn ein Systemdienst mit Systemrechten bei mir als User in meinem Homeverzeichnis herumfuhrwerkt.
Und mir ist bis dato nicht bekannt, dass man z.B. ein userspezifisches ~/.newsyslog.d anlegt und dort benutzerspezifisch was ablegt. Die Manpage und Doku zu newsyslog schweigt sich dazu aus. Man kann newsyslog zwar mit entsprechendem Parameter und einem eigenen Konfigurationsfile starten, doch finde ich das insofern widersinnig, weil der newsyslog daemon ja sowiso schon im Hintergrund läuft. Einen zweiten daemon anzuwerfen, der sich dann nur um die userspezifischen Belange kümmert, will ich bislang nicht.
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.