Vor-/Nachteile zwischen "crontab" und z.B. "/etc/cron.daily"

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
pangu
Beiträge: 1400
Registriert: 15.11.2011 20:50:52
Lizenz eigener Beiträge: GNU General Public License
Wohnort: /proc/1

Vor-/Nachteile zwischen "crontab" und z.B. "/etc/cron.daily"

Beitrag von pangu » 07.11.2013 08:46:49

Hi Leute,

angenommen ich möchte das Skript /usr/local/bin/beispiel.sh täglich ablaufen lassen und die Startuhrzeit wäre mir völlig egal, dann kann ich das auf zwei Möglichkeiten realisieren:

(A)

Code: Alles auswählen

ln -s /usr/local/bin/beispiel.sh /etc/cron.daily/beispiel 
oder
(B)
ich setze einfach die Zeile in die /etc/crontab hinein:

Code: Alles auswählen

25 6 * * * root /usr/local/bin/beispiel.sh
Beide Varianten würden ja mein Skript aufrufen. Wenn ich meine jetzige crontab anschaue, dann steht dort:

Code: Alles auswählen

17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
Diese /etc/cron.xxxxx Verzeichnisse werden also durch meine crontab initiiert? Das ist aber komisch, denn nur auf diesem Host sehe ich das zum ersten Mal. Auf meinen andren Debian-Hosts steht in meiner crontab kein Eintrag für irgendwelche /etc/cron.xxxxx Aufrufe). Außerdem habe ich mal diese "/usr/sbin/anacron" gesucht, die gibts gar nicht auf diesem System. Wie werden also diese cron.daily, cron.weekly, usw... initiiert?

Und zur ursprünglichen Frage: hätte ich irgendeinen Vor-/Nachteil wenn ich entweder (A) oder (B) nutze für mein Vorhaben mit dem Skriptaufruf???
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.

Benutzeravatar
Dogge
Beiträge: 1899
Registriert: 13.09.2010 11:07:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Vor-/Nachteile zwischen "crontab" und z.B. "/etc/cron.da

Beitrag von Dogge » 07.11.2013 08:55:31

Soweit ich weiß ruft cron häufig anacron auf. Wenn ich das richtig sehe immer stündlich um xx:17. Anacron schaut dann, ob der Befehl schon ausgeführt wurde und führt in dann aus, bzw. auch nicht wenn er bereits ausgeführt wurde .
Anacron sorgt also dafür, dass dein script auf jeden Fall täglich ausgeführt wird. Bei cron wird es einmal um die eingetragene Zeit ausgeführt und wenn der Rechner zu der Zeit ausgeschaltet ist, wird dein Script halt nicht ausgeführt.

So müsste das ablaufen, wenn ich mich recht daran erinnere. Ist ne Weile her, dass ich mich da mal informiert habe. Lass dir das aber mal von nem Profi hier drin bestätigen. :wink:
Debian Testing + Gnome | Linux-Anfänger seit 04/2003
http://files.mdosch.de/2014-07/0xE13D657D.asc

Benutzeravatar
4A4B
Beiträge: 962
Registriert: 09.11.2011 11:19:55
Kontaktdaten:

Re: Vor-/Nachteile zwischen "crontab" und z.B. "/etc/cron.da

Beitrag von 4A4B » 07.11.2013 09:03:43

Außerdem habe ich mal diese "/usr/sbin/anacron" gesucht, die gibts gar nicht auf diesem System. Wie werden also diese cron.daily, cron.weekly, usw... initiiert?

Code: Alles auswählen

test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
Es wird getestet, ob anacron vorhanden und ausführbar ist, andernfalls führt run-parts die Scripte in /etc/cron.daily aus.

Ich würde Variante (A) bevorzugen, dann muss man nur in die Verzeichnisse schauen, um sich einen Überblick über die Cronjobs zu verschaffen

Antworten