crontab - Problem beim Erstellen von Webstatisik für Accounts
Frank
- cgi
Hallo zusammen,
ich hoffe, daß ich hier an die richtige Stelle geraten bin. Ich habe folgendes Problem. Auf einem virtuellen Server sind mehrere Accounts angelegt, wo ich nun bei jedem die Statistiken (webalizer) um Mitternacht automatisch generieren lassen möchte. Mittlerweile habe ich auch als nicht UINIX-Profi verstanden, daß ich hierfür den cronjob verwenden kann. Ich habe also ein cronfile erstellt welches folgenden Inhalt besitzt:
MAILTO=""
* */1 * * * ~/usr/local/bin/webalizer -n www.webinfoline.de -o ~/www/htdocs/thomas/stats ~/www/logs/access_log-webinfoline
* */1 * * * ~/usr/local/bin/webalizer -n www.weine-online.de -o ~/www/htdocs/weine/stats ~/www/logs/access_log-weineonline.de
Hinterher gebe ich nun den Befehl "crontab cronfile" ein und es müßten daraufhin zu jeder vollen Stunde die Statistiken der beiden Accounts generiert werden. So weit so gut. Nun ist es aber so, daß nur die Statistiken für den 1. genannten Account generiert werden. Die restlichen Accounts scheinen dem System ziemlich egal zu sein. Tausche ich die beiden Zeilen aus, werden die Statistsiken für den anderen Account generiert. Und nun hörts bei mir auf.
Wäre über einen Tipp dankbar.
Grüße,
Frank
Hi Frank,
Ich habe also ein cronfile erstellt welches folgenden Inhalt besitzt:
MAILTO=""
interessant. Was soll das bewirken?
Versuchst Du, damit eine Environment-Variable zu setzen?
Eine crontab-Datei ist aber kein shell-Skript:
crontab Entry Format
A crontab file consists of lines of six fields each. The
fields are separated by spaces or tabs. The first five are
integer patterns that specify the following:
minute (0-59),
hour (0-23),
day of the month (1-31),
month of the year (1-12),
day of the week (0-6 with 0=Sunday).
("man crontab")
Du könntest übrigens die Ausgabe Deines Kommandos in eine Datei umlei-
ten, statt im Fehlerfalle vom cron-Daemon Mails generieren zu lassen.
* */1 * * * ~/usr/local/bin/webalizer -n www.webinfoline.de -o ~/www/htdocs/thomas/stats ~/www/logs/access_log-webinfoline
Die Notation "*/1" habe ich auch noch nie gesehen.
Wenn Du einen Job einmal pro Stunde ausführen willst, dann schreib
doch einfach eine feste Minutenzahl in die erste Spalte hinein, und
einen Stern in die zweite.
(Falls Du wirklich stündliche Auswertungen brauchst ... tägliche soll-
ten eigentlich auch reichen, öfter schaut m. E. eh niemand hinein.)
* */1 * * * ~/usr/local/bin/webalizer -n www.weine-online.de -o ~/www/htdocs/weine/stats ~/www/logs/access_log-weineonline.de
Und den zweiten Job würde ich ggf. um eine Minute versetzt starten.
Das löst zwar nicht sicher allfällige Synchronisationsprobleme, es
verteilt die Last auf dem Servers aber besser.
Viele Grüße
Michael