Crontab

Post Reply
Message
Author
Kurt

Crontab

#1 Post by Kurt »

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

Jochen

Re: Crontab

#2 Post by Jochen »

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

Kurt

Re: Crontab

#3 Post by Kurt »

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

Kurt

Re: Crontab

#4 Post by Kurt »

Nachtrag: Bzw. kann mir vielleicht jemand sagen, wie man eine solche Log-Rotation am besten durchführt?

Gruss,
Kurt

hi

Re: Crontab

#5 Post by hi »

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

Kurt

Re: Crontab

#6 Post by Kurt »

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

Kurt

Re: Crontab

#7 Post by Kurt »

FYI: Ich habe nun ein sehr gutes Tool zur Apache-Log-Rotation gefunden: http://www.cronolog.org/.

Gruss,
Kurt

Descartes

Re: Crontab

#8 Post by Descartes »

@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

Post Reply