frage zu cronjob

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
OldGod78
Beiträge: 190
Registriert: 20.04.2016 20:59:51
Kontaktdaten:

frage zu cronjob

Beitrag von OldGod78 » 15.06.2016 22:27:55

hallo . mit dieser "zeiteinstellung" wird alle 3 tage ein backup nachts erstellt - richtig ?

0 0 * * 3

Benutzeravatar
MSfree
Beiträge: 11605
Registriert: 25.09.2007 19:59:30

Re: frage zu cronjob

Beitrag von MSfree » 15.06.2016 22:32:42

OldGod78 hat geschrieben:hallo . mit dieser "zeiteinstellung" wird alle 3 tage ein backup nachts erstellt
Woher soll ich wissen, ob da ein Backup erstellt wird, der Rest der Zeile fehlt schließlich, genausogut könnte da "Hallo Welt" in das Systemlog geschrieben werden. :mrgreen:
- richtig ?

0 0 * * 3
Nein, nicht richtig.

man 5 crontab sagt:

Code: Alles auswählen

            field          allowed values
              -----          --------------
              minute         0-59
              hour           0-23
              day of month   1-31
              month          1-12 (or names, see below)
              day of week    0-7 (0 or 7 is Sun, or use names)
Die 3 bei dir bedeutet also Mittwochs.

OldGod78
Beiträge: 190
Registriert: 20.04.2016 20:59:51
Kontaktdaten:

Re: frage zu cronjob

Beitrag von OldGod78 » 15.06.2016 22:37:18

oh . also wie muss es sein ?

Benutzeravatar
Huck Fin
Beiträge: 1210
Registriert: 10.03.2008 17:10:30

Re: frage zu cronjob

Beitrag von Huck Fin » 15.06.2016 22:40:09

Ich glaube...

* * * * */3

Benutzeravatar
Meillo
Moderator
Beiträge: 9232
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: frage zu cronjob

Beitrag von Meillo » 15.06.2016 22:42:24

OldGod78 hat geschrieben:oh . also wie muss es sein ?

Code: Alles auswählen

0 0 */3 * * backup-command
``Um 0 Minuten, 0 Uhr, jeden dritten Tag, jeden Monats, beliebiger Wochentag''

Aber du musst schauen, ob deine Cron-Implementierung dieses /3 versteht. Das kann naemlich nicht jede. Andernfalls musst du halt aufzaehlen: 3,6,9,12,15,18,...
Use ed once in a while!

Benutzeravatar
Meillo
Moderator
Beiträge: 9232
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: frage zu cronjob

Beitrag von Meillo » 15.06.2016 22:44:59

Huck Fin hat geschrieben:Ich glaube...

* * * * */3
Dieser Job laeuft jede Minute jeder Stunde, an jedem Tag jeden Monats, wenn der Wochentag durch 3 teilbar ist ... was auf 0=Sonntag, 3=Mittwoch und 6=Samstag zutrifft. Wenn ich das richtig verstehe, dann laeuft der Job an diesen Wochentagen jede Minute, an anderen Wochentagen gar nicht.
Use ed once in a while!

OldGod78
Beiträge: 190
Registriert: 20.04.2016 20:59:51
Kontaktdaten:

Re: frage zu cronjob

Beitrag von OldGod78 » 15.06.2016 22:50:19

ahhh

Benutzeravatar
MSfree
Beiträge: 11605
Registriert: 25.09.2007 19:59:30

Re: frage zu cronjob

Beitrag von MSfree » 15.06.2016 22:50:28

Meillo hat geschrieben:
OldGod78 hat geschrieben:oh . also wie muss es sein ?

Code: Alles auswählen

0 0 */3 * * backup-command
``Um 0 Minuten, 0 Uhr, jeden dritten Tag, jeden Monat, beliebiger Wochentag''
Streng genommen stimmt das auch nicht. Denn die */3 bedeutet hier jeden dritten Tag des Monats und nicht wirklich regelmässig jeden dritten Tag, Monate haben schließlich 28, 29, 30 oder 31 Tage.

Regelmässig jeden dritten Tag bekommt man wohl mit keiner Regel streng hin. Wenn es aber um Backups geht, könnte man auch Mittwochs und Samstags nehmen, statt echt alle 3 Tage. Dann sieht die Regel so aus:

0 0 * * 3,6

Benutzeravatar
Meillo
Moderator
Beiträge: 9232
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: frage zu cronjob

Beitrag von Meillo » 15.06.2016 23:17:54

MSfree hat geschrieben:
Meillo hat geschrieben: ``Um 0 Minuten, 0 Uhr, jeden dritten Tag, jeden Monat, beliebiger Wochentag''
Streng genommen stimmt das auch nicht. Denn die */3 bedeutet hier jeden dritten Tag des Monats und nicht wirklich regelmässig jeden dritten Tag, Monate haben schließlich 28, 29, 30 oder 31 Tage.
Da hast du recht, korrekt ist: jeden ganzzahlig durch drei teilbaren Tag.
Use ed once in a while!

Benutzeravatar
Meillo
Moderator
Beiträge: 9232
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: frage zu cronjob

Beitrag von Meillo » 15.06.2016 23:25:22

MSfree hat geschrieben: Regelmässig jeden dritten Tag bekommt man wohl mit keiner Regel streng hin.
Doch, so:

Code: Alles auswählen

0 0 * * *    test `expr \`date +%s\` / 86400 % 3` = 0 && backup-script
;-)
Use ed once in a while!

tobo
Beiträge: 2339
Registriert: 10.12.2008 10:51:41

Re: frage zu cronjob

Beitrag von tobo » 15.06.2016 23:36:08

Meillo hat geschrieben:Da hast du recht, korrekt ist: jeden ganzzahlig durch drei teilbaren Tag.
Glaube nicht, da er direkt anfängt. */3 = 1-31/3 = 1,4,7,...

Benutzeravatar
Meillo
Moderator
Beiträge: 9232
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: frage zu cronjob

Beitrag von Meillo » 15.06.2016 23:43:42

tobo hat geschrieben:
Meillo hat geschrieben:Da hast du recht, korrekt ist: jeden ganzzahlig durch drei teilbaren Tag.
Glaube nicht, da er direkt anfängt. */3 = 1-31/3 = 1,4,7,...
Ja, ich glaube du hast recht. Die Manpage schreibt:
Following a range with ``/<number>'' specifies skips of the number's value through the range.
Hab dort gar nicht nachgelesen, sondern mich nur von der Symbolik (Slash als Teilzeichen) und der Logik (wie ich das implementieren wuerde ;-) ) leiten lassen. Etwas ueberraschend, dass hier geskipped wird ... wobei das bei der Minute und Stunde auf das Gleiche raus laeuft, weil die von Null ab zaehlen. Bei Tag und Monat ist's aber um eines verschoben. -- Danke fuer die Korrektur!
Use ed once in a while!

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: frage zu cronjob

Beitrag von rendegast » 16.06.2016 00:01:24

0 0 * * * ....
jeden Tag einen Job, der einen Zähler hochsetzt.
Erreicht der Zähler "3", wird das eigentliche Arbeitsskript abgerufen.

Oder einen täglichen Job, der das Alter einer lock-Datei prüft.
Ist das Alter höher als 2 Tage, wird das Arbeitsskript abgerufen und ein 'touch' der lock-Datei.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Antworten