RHEL 7 – RHCSA-Hinweise (Spickzettel)
– Linux kann Aufgaben automatisch ausführen und enthält Dienstprogramme für automatisierte Aufgaben:cron, anacron, at, batch .
– Cron-Jobs können jede Minute ausgeführt werden.
– Ein geplanter Cron-Job wird übersprungen, wenn das System heruntergefahren ist.
– anacron kann einen Job nur einmal am Tag ausführen.
– Geplante Jobs werden gespeichert und beim nächsten Hochfahren des Systems ausgeführt.
– crond Daemon durchsucht mehrere Dateien und Verzeichnisse nach geplanten Jobs:
1. /var/spool/cron/ 2. /etc/anacrontab 3. /etc/cron.d
Cronjobs konfigurieren
Cron-Jobs sind in /etc/crontab definiert.
Die Crontab-Einträge haben folgende Form:
Minutes Hours Date Month Day-of-Week command
where: Minutes = [0 to 59] Hours = [0 to 23] Date = [1 to 31] Month = [1 to 12] Day-of-Week = [0 to 6] 0=Sunday - 6=Saturday command = a script file or a shell command. Other special characters can be used: - An asterisk (*) can be used to specify all valid values. - A hyphen (-) between integers specifies a range of integers. - A list of values separated by commas (,) specifies a list. - A forward slash (/) can be used to specify step values.
Andere Cron-Verzeichnisse und -Dateien
/etc/cron.d
– Enthält Dateien mit derselben Syntax wie /etc/crontab – zugänglich nur mit Root-Rechten
– Andere Cron-Verzeichnisse in /etc:–
cron.hourly cron.daily cron.weekly cron.monthly
– Skripte in diesen Verzeichnissen werden stündlich, täglich, wöchentlich oder monatlich ausgeführt, je nach Name des Verzeichnisses.
– Die /etc/cron.allow und /etc/cron.deny Dateien beschränken den Benutzerzugriff auf cron. Wenn keine Datei existiert, kann nur root cron verwenden.
Crontab-Dienstprogramm
– Andere Benutzer als Root können Cron auch mit dem Crontab-Dienstprogramm konfigurieren.
– Benutzerdefinierte Crontabs werden in /var/spool/cron/[Benutzername] gespeichert .
– So erstellen oder bearbeiten Sie einen Crontab-Eintrag:
# crontab -e
– Um die Einträge in der benutzerdefinierten Crontab aufzulisten:
# crontab -l
Anacron-Jobs konfigurieren
– Anacron-Jobs sind in /etc/anacrontab definiert .
– Jobs werden definiert durch :
Period in days : frequency of execution in days Delay in minutes - Minutes to wait before executing the job job-identifier - A unique name used in logfiles command : a shell script or command to execute
Beispiel für eine Anacron-Datei :
SHELL=/bin/sh PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root # the maximal random delay added to the base delay of the jobs RANDOM_DELAY=45 # the jobs will be started during the following hours only START_HOURS_RANGE=3-22 #period in days delay in minutes job-identifier command 1 5 cron.daily nice run-parts /etc/cron.daily 7 25 cron.weekly nice run-parts /etc/cron.weekly @monthly 45 cron.monthly nice run-parts /etc/cron.monthly
at und Batch
– Die Dienstprogramme at und batch werden zum Planen einmaliger Aufgaben verwendet.
– Der Befehl at führt eine Aufgabe zu einem bestimmten Zeitpunkt aus.
– Der Befehl batch führt eine Aufgabe aus, wenn die durchschnittliche Systemlast unter 0,8 liegt.
– der atd-Dienst muss ausgeführt werden, um at- oder Batch-Jobs ausführen zu können
– at-Befehlssyntax:
# at time
– Das Zeitargument akzeptiert mehrere Formate:
HH:MM MMDDYY,MM/DD/YY or MM.DD.YY month-name day year midnight: At 12:00 AM teatime: At 4:00 PM now + time -- here time can be minutes, hours, days or weeks
– Stapelbefehlssyntax:
# batch (at> promp is displayed)
– Die /etc/at.allow und /etc/at.deny Dateien beschränken den Benutzerzugriff auf at. Wenn keine Datei existiert, kann nur root cron verwenden.