Frage

In crontab kann ich einen Stern jeden Wert bedeuten, oder „* / 2“ jeden geraden Wert bedeuten.

Gibt es eine Möglichkeit jeden ungerade Wert angeben? (Würde so etwas wie "1 + * / 2" Arbeit?)

War es hilfreich?

Lösung

auf Ihrer Version von cron Je sollten Sie in der Lage sein zu tun (für Stunden, sagen):

   1-23/2

Going durch die ERWEITERUNGEN Abschnitt in der crontab (5) manpage:

   Ranges can include "steps", so "1-9/2" is the same as "1,3,5,7,9".

Für eine tragbare Lösung, ich vermute, Sie müssen nur die einfache Liste verwenden:

   1,3,5,7,9,11,13,15,17,19,21,23

Aber es könnte leichter sein, Ihren Befehl in einem Shell-Skript zu wickeln, das wird sofort verlassen, wenn sie nicht in einer ungeraden Minute aufgerufen wird.

Andere Tipps

Jede ungerade Minute wäre:

1-59/2 * * * * 

Jede sogar Minute wäre:

0-58/2 * * * * 

Versuchen

1-23/2

Aus Ihrer Frage, ich gehe davon aus Vixie Cron. Ich bezweifle, dass dies bei jedem anderen cron funktioniert.

Als ich das Handbuch lesen "1-23 / 2" (stundenlang) würde den Trick tun.

Arbeiten auf Cronie Selbst mit 5 Minuten Intervall z.

3-58/5 * * * * /home/test/bin/do_some_thing_every_five_minute

Ich weiß, das fast 10 Jahre alt ist, aber ich habe Probleme bekommen 1-23 / 2 für einen jeweils zwei Stunden, ungeradeen Stunden-Job.

Für alle Benutzer, wo, genau ungerade Stunde Präzision ist nicht erforderlich. Ich habe folgende, die benötigt meine Teams geeignet.

59 */2 * * *

Führen Sie den Job alle zwei Stunden, in der 59. Minute.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top