Frage Wie kann ich jährlich mit anacron arbeiten?


Ich möchte Anacron verwenden, um jährlich einen Job zu machen. Ich sehe nur tägliche, wöchentliche und monatliche Konfiguration für Anacron. Gibt es eine Möglichkeit, einmal im Jahr einen Job zu machen?


4
2017-11-25 18:05


Ursprung




Antworten:


Natürlich und es ist bereits dort mit den möglichen Auswahlen, die Sie haben: Wählen Sie einen bestimmten Tag und einen bestimmten Monat und es wird einmal pro Jahr laufen. Tag 1 von Monat 1 wäre am 1. Januar.

Anacron hat zwei Möglichkeiten, Linien zu definieren. Der zweite ist wie folgt:

 @period_name delay job-identify command

Der period_name kann auf täglich, wöchentlich, monatlich, jährlich oder jährlich eingestellt werden. Dadurch wird sichergestellt, dass die Aufträge einmal pro Woche, Monat oder Jahr ausgeführt werden, unabhängig von der Anzahl der Tage in diesem Zeitraum.

Beispiel

@yearly 0 job1 /usr/bin/execute_me

Die 0 bedeutet keine Verzögerung. job1 ist ein Bezeichner und der auszuführende Befehl.


4
2017-11-25 18:20



Wie würde @period_name mit Anacron funktionieren? Ich dachte, es wurde in Crontab verwendet, was die Ausführung nicht garantiert, wenn die Maschine ausgeschaltet ist. - Jeremy Stein
Hier gehst du @ JeremyStein linux.die.net/man/5/anacrontab oder manpages.ubuntu.com/manpages/precise/man5/anacrontab.5.html ;) - Rinzwind
Ah, also könnte ich anacrontab eine Zeile hinzufügen: @yearly 20 cron.yearly nice run-parts --report /etc/cron.yearly und füge dann meine Skripte hinzu /etc/cron.yearly? - Jeremy Stein
Ich weiß es nicht genau, aber dieser letzte Teil (nice run-parts --report /etc/cron.yearly) muss wahrscheinlich 1 Befehl sein (nicht dass das ein Problem ist, da du das in ein Skript werfen und das Skript ausführen kannst) . - Rinzwind


Ich denke, das würde funktionieren, wenn mein Computer nicht den ganzen Januar über ausgeschaltet war:

Datei in /etc/cron.monthly:

#!/bin/sh
month=`date +%m`
if [ $month -eq 1 ]
then do_yearly_task
fi

0
2017-11-25 18:21