Was ist bei einem Crontab mit:
0 0 1 * *
gemeint?
Heisst das, dass dieser cronjob am ersten jeden Monats um 0 Uhr Morgens oder um 24 abends ausgeführt wird? mit Morgens meine ich, sobald der erste Tag des Monats begonnen hat und mit Abends, kurz bevor der erste Tag des Monats zu ende geht.
Danke,
Kurt
Crontab
Re: Crontab
Linux kennt keine 24:00:00, sondern nur den Bereich von 00:00:00 bis 23:59:59. Daher wird er o.a. crontab-Eintrag am 1. eines Monats um 00:00 ausgeführt, also in dem Moment, wo der 1. anfängt.
Jochen
Jochen
Re: Crontab
Danke Jochen!
Dann habe passend dazu noch eine Frage: Ich möchte gerne jeden Tag folgenden Cronjob ausführen:
0 0 * * * webalizer
Zudem soll zu Beginn jeden Monats der folgende Cronjob ausgeführt werden
0 0 1 * * logrot.sh
Das Shell-Script logrot.sh macht dabei folgendes:
--
#!/bin/bash
OLD_ACCESS=/var/log/httpd/old/access_log.`date +%m%Y`
OLD_ERROR=/var/log/httpd/old/error_log.`date +%m%Y`
mv /var/log/httpd/access_log `echo $OLD_ACCESS`
mv /var/log/httpd/error_log `echo $OLD_ERROR`
apachectl graceful
sleep 60
gzip $OLD_ACCESS
gzip $OLD_ERROR
--
Geht das überhaupt so? Kommen sich die beiden Cronjobs nicht in die "Quere"?
Danke,
Kurt
Dann habe passend dazu noch eine Frage: Ich möchte gerne jeden Tag folgenden Cronjob ausführen:
0 0 * * * webalizer
Zudem soll zu Beginn jeden Monats der folgende Cronjob ausgeführt werden
0 0 1 * * logrot.sh
Das Shell-Script logrot.sh macht dabei folgendes:
--
#!/bin/bash
OLD_ACCESS=/var/log/httpd/old/access_log.`date +%m%Y`
OLD_ERROR=/var/log/httpd/old/error_log.`date +%m%Y`
mv /var/log/httpd/access_log `echo $OLD_ACCESS`
mv /var/log/httpd/error_log `echo $OLD_ERROR`
apachectl graceful
sleep 60
gzip $OLD_ACCESS
gzip $OLD_ERROR
--
Geht das überhaupt so? Kommen sich die beiden Cronjobs nicht in die "Quere"?
Danke,
Kurt
Re: Crontab
Nachtrag: Bzw. kann mir vielleicht jemand sagen, wie man eine solche Log-Rotation am besten durchführt?
Gruss,
Kurt
Gruss,
Kurt
Re: Crontab
Hi Kurt
Zur logrotation:
Ich benutze den metalog, das ist ein syslog kompatibler logdaemon der sowas automatisch machen kann. Ausser dem ist der meiner Meinung nach einfacher zu konfigurieren. Die URL hab ich jetzt gerade nicht, aber eine suche mit google sollte dich eigentlich schnell ans Ziel bringen.
Ansonsten gibt es noch ein Programm mit dem namen logrotate, das muss allerdings wieder über cron gestartet werden.
Mfg jensemann
Zur logrotation:
Ich benutze den metalog, das ist ein syslog kompatibler logdaemon der sowas automatisch machen kann. Ausser dem ist der meiner Meinung nach einfacher zu konfigurieren. Die URL hab ich jetzt gerade nicht, aber eine suche mit google sollte dich eigentlich schnell ans Ziel bringen.
Ansonsten gibt es noch ein Programm mit dem namen logrotate, das muss allerdings wieder über cron gestartet werden.
Mfg jensemann
Re: Crontab
Danke jensemann, werd mir metalog mal ansehen. Die URL ist übrigens metalog.sourceforge.net
Zum crontab: Was für ein Datum ist um 00:00, wenn um 23:59 der 01.01.2002 ist und um 00:01 der 02.01.2002?
Gruss,
Kurt
Zum crontab: Was für ein Datum ist um 00:00, wenn um 23:59 der 01.01.2002 ist und um 00:01 der 02.01.2002?
Gruss,
Kurt
Re: Crontab
FYI: Ich habe nun ein sehr gutes Tool zur Apache-Log-Rotation gefunden: http://www.cronolog.org/.
Gruss,
Kurt
Gruss,
Kurt
Re: Crontab
@Kurt
> Zum crontab: Was für ein Datum ist um 00:00, wenn um 23:59 der 01.01.2002 ist und um 00:01 der 02.01.2002?
2002-01-01: 00:00:00 bis 23:59:59
2002-01-02: 00:00:00 bis 23:59:59
...
Da jeder Tag um 00:00:00 Uhr beginnt und mit 23:59:59 endet ist die Antwort auf deine Frage: der 2. Januar 2002
> Zum crontab: Was für ein Datum ist um 00:00, wenn um 23:59 der 01.01.2002 ist und um 00:01 der 02.01.2002?
2002-01-01: 00:00:00 bis 23:59:59
2002-01-02: 00:00:00 bis 23:59:59
...
Da jeder Tag um 00:00:00 Uhr beginnt und mit 23:59:59 endet ist die Antwort auf deine Frage: der 2. Januar 2002