Fcron: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Jewox (Diskussion | Beiträge)
K →‎Installation: SysVinit systemd
Jewox (Diskussion | Beiträge)
K systemd
Zeile 10: Zeile 10:


   # pacman -S fcron
   # pacman -S fcron
Bei Verwendung von SysVinit: Zuerst sollte in der [[rc.conf]] bei <code>DAEMONS=(... fcron ...)</code> eingetragen werden. Der Dienst wird ohne d geschrieben im Gegensatz zu vielen anderen bekannten Programmen, siehe [[Daemons]] und [[Daemons/Liste]].
Bei Verwendung von systemd: Damit der Dienst gestartet wird, bitte <code>systemctl enable fcron.service</code> ausführen.


==Konfiguration==
==Konfiguration==
Zeile 31: Zeile 27:
   # fcrontab -e systab
   # fcrontab -e systab


Folgendes Bsp. zeigt wie Fcron alle Jobs direkt nach dem Starten des Dienstes (z.B. Hochfahren des Rechners) ausführt, wenn dieser zu den angegebenen Zeiten nicht in Betrieb war. Die weiteren Optionen pro Zeile sind selbsterklärend.
Folgendes Bsp. zeigt wie Fcron alle Jobs direkt nach dem Starten des Rechners ausführt, wenn dieser zu den angegebenen Zeiten nicht in Betrieb war. Die weiteren Optionen pro Zeile sind selbsterklärend.


   # fcrontab -l systab
   # fcrontab -l systab
Zeile 39: Zeile 35:
   &bootrun,mail(root)    10 00 * * 1 /usr/sbin/run-cron /etc/cron.weekly
   &bootrun,mail(root)    10 00 * * 1 /usr/sbin/run-cron /etc/cron.weekly
   &bootrun,erroronlymail 15 00 1 * * /usr/sbin/run-cron /etc/cron.monthly
   &bootrun,erroronlymail 15 00 1 * * /usr/sbin/run-cron /etc/cron.monthly
==fcron.service==
Damit fcron beim Booten gestartet wird, bitte <code>systemctl enable fcron.service</code> ausführen.


==Weitere Infos==
==Weitere Infos==

Version vom 2. November 2012, 12:58 Uhr


Die meisten Cron-Implementierungen wie Vixie Cron und DCron gehen von einem System aus, das ohne Unterbrechungen läuft. Das trifft allerdings nur auf Server zu - Laptops werden sehr oft heruntergefahren oder in den Suspend-Modus versetzt. Desktop-Rechner sind in der Regel nachts oder an Urlaubstagen ausgeschaltet, um Energie zu sparen. Bei solchen Einsatzszenarien bleiben Cronjobs unerledigt, wenn der Computer zur fraglichen Zeit nicht lief. Abhilfe für dieses Problem schafft die Cron-Alternative Anacron. Anacron hat aber auch Nachteile: Da das Programm nicht als Daemon läuft, muss es bei Bedarf gestartet werden, entweder manuell, durch Boot-Skripte oder durch Cron selbst. Dieses Problem kann dazu führen, dass Cron und Anacron gleichzeitig laufen, aber eine Aufgabe zwei Mal oder gar nicht erledigt wird.

Fcron ist ein Cron-Daemon, welcher die bereits bekannten Funktionen von Cron und Anacron beherrscht, aber einige nützliche Extras bietet.

Installation

Das Programm ist im community Repo verfügbar. Es kann mittels Pacman installiert werden.

 # pacman -S fcron

Konfiguration

Zuerst bitte die Datei /etc/fcron/fcron.conf prüfen hinsichtlich der dort aufgeführten Optionen. Die mitgelieferten Standardeinstellungen dürften für die meisten Anwendungsfälle geeignet sein.

Für strengere Beschränkungen bitte die Dateien /etc/fcron/fcron.allow und /etc/fcron/fcron.deny bearbeiten.

Die Crontabs werden in der Datei fcrontab definiert. Die Syntax für die Zeiten und Befehle sind denen von Cron identisch. Für die zusätzlichen Features wird eine erweiterte Syntax verwendet, die sich von den klassischen Crontab-Dateien unterscheidet.

Für die systemweiten Jobs bitte als root ausführen:

  • Auflistung
 # fcrontab -l systab
  • Bearbeitung
 # fcrontab -e systab

Folgendes Bsp. zeigt wie Fcron alle Jobs direkt nach dem Starten des Rechners ausführt, wenn dieser zu den angegebenen Zeiten nicht in Betrieb war. Die weiteren Optionen pro Zeile sind selbsterklärend.

 # fcrontab -l systab
 listing systab's fcrontab
 &bootrun,nolog         00 * * * *  /usr/sbin/run-cron /etc/cron.hourly
 &bootrun,nice(8)       05 00 * * * /usr/sbin/run-cron /etc/cron.daily
 &bootrun,mail(root)    10 00 * * 1 /usr/sbin/run-cron /etc/cron.weekly
 &bootrun,erroronlymail 15 00 1 * * /usr/sbin/run-cron /etc/cron.monthly

fcron.service

Damit fcron beim Booten gestartet wird, bitte systemctl enable fcron.service ausführen.

Weitere Infos