Cron Flashcards
Wo liegen die User Crontabs?
/var/spool/cron
files sind nach dem Benutzerkonto benannt.
Wo liegen die System Crontabs?
/etc/crontab
und/etc/crontab.d/
Wie ist das Format von User Crontabs?
Die Minute (0-59) Die Stunde (0-23) Der Tag (1-31) Der Monat (1-12) Der Wochentag (0-7; Sonntag=0 und Sonntag=7) Der auszuführende Befehl
Der Monat oder der Wochetag kann auch folgendermaßen angegeben werden.
jan, feb, mar, oder sun, mon, tue
Wie werden System Crontabs erstellt, bzw modifiziert ?
Z.b. mit VI
Der Befehl crontab -e ist hier nicht notwendig.
Wie ist ein System Crontab aufgeteilt ?
Welche Felder gibt es ?
Die Minute (0-59) Die Stunde (0-23) Der Tag (1-31) Der Monat (1-12) Der Wochentag (0-7; Sonntag=0 und Sonntag=7) user-name (root) Der auszuführende Befehl
Welche Verzeichnisse werden verwendet wenn ein Task in einer gewissen Frequenz ausgeführt werden soll ?
/etc/cron.hourly oder /etc/cron.d/hourly/ /etc/cron.daily oder /etc/cron.d/daily/ /etc/cron.weekly oder /etc/cron.d/weekly/ /etc/cron.monthly oder /etc/cron.d/monthly/
Wann genau wird der cron-job ausgeführt ?
@weekly
Führt die angegebene Aufgabe einmal pro Woche am Sonntag um Mitternacht aus.
Was macht die Variable $MAILTO in crontabs wenn Sie gesetzt ist ?
Schickt stdout und stderr an den Namen des Benutzers bzw die Email Adresse.
Mehrere kommagetrennte Werte erlaubt.
Ein leerer Wert bedeutet, dass keine Mail gesendet wird.
Was macht /etc/cron.allow
bzw /etc/cron.deny
?
enthalten eine Liste von Benutzernamen, jeweils in einer eigenen Zeile.
verbietet oder erlaubt Cronjobs für verschiedene Benutzer
Existiert die Datei /etc/cron.allow
○ gibt es diese Datei und Sie ist leer, dürfen keine Benutzer crontjobs planen
○ Nur darin aufgeführte Nicht-Root-Benutzer dürfen Cronjobs mit dem Befehl crontab planen.
Existiert die Datei /etc/cron.deny , /etc/cron.allow aber nicht
○ dürfen Nicht-Root-Benutzer, die in dieser Datei aufgeführt sind, keine Cronjobs mit dem Befehl crontab planen
○ eine leere /etc/cron.deny bedeutet, dass jeder Benutzer Cronjobs mit crontab planen darf
Gibt es beide Dateien und der User ist in beiden vorhanden, zieht die allow vor der deny.
Welche alternativen zu cron gibt es in einem systemd system ?
.timer Units
Wo befinden sich die .timer units
lib/systemd/system
usr/lib/systemd/system
Wie ist die Syntax für die Option OnCalender=
in der [Timer] Section?
DayOfWeek Year-Month-Day Hour:Minute:Second
DayOfWeek ist optional
….*
Steht für alle möglichen Werte.,
Gibt eine Liste möglicher Werte an./
Gibt gestaffelte Werte an...
zwischen zwei Werten gibt einen Bereich an. Z.B 1..7
Was macht dieser cron eintrag.
30 01 * * 7 root /root/barfoo.sh»_space;root/output.log 2»root/error.log
startet barfoo.sh durch user root jeden Sonntag um 01:30.
Ausgabe des Auftrags wird in root/output.log gehängt, die Fehler an root/error.log
Was macht systemd-run --on-calendar='2019-10-06 11:30' date
systemd-run dient typischerweise dazu, eine temporäre Timer
Unit zu erstellen, damit ein Befehl zu einer bestimmten Zeit einmalig ausgeführt wird.
…
Führt den command date am 6.10.2019 um 11:30 aus
Was macht systemd-run --on-active="2m" ./foo.sh
führt foo.sh in 2min aus
Wie wird eine neue unit.timer aktiviert ?
systemctl enable foobar.timer systemctl start foobar.timer
Erstellen Sie einen einfachen cron Job, der den Befehl date jeden Freitag um 01:00 Uhr ausführt.
Wie sehen Sie ob der job erfolgreich war?
00 01 * * 5 date
STDOUT und STDERR wird per E-Mail an den Benutzer gesendet — abrufbar über den Befehl mail.
Es sei denn, die Variable Mail ist auf MAILTO=“ “ gesetzt in der cron datei.
Welche Tools gibt es zum planen von einmalige Aufgaben ?
systemd-run
undat
Welche Zeitangaben, bzw Worte sind bei at gültig ?
at now +5 minutes at noon +10 hours at midnight +7 days at teatime +5 weeks
at noon today at teatime tomorrow at midnight next week
at 10:30 AM 31.10.2024 at 10:30 AM 2024-10-31 at 10:30 AM 10/31/2024
Wie überprüfen Sie die Befehle eines Jobs, den Sie mit at geplant haben?
at -c
Mit welchen Befehlen überprüfen Sie Ihre ausstehenden at-Jobs, bzw zeigt eine Liste?
Mit welchen Befehlen würden Sie jobs löschen, nehmen wir an es geht um den job mit der id 25?
atq
oder at -l
atrm 25
oder at -d 25
Erstellen Sie einen at-Job für 31.Oktober 2024,10:30 Uhr Vormittag.
at 10:30 AM 2024-10-31
at 10:30 AM 31.10.2024
at 10:30 AM 10/31/2024
erstellen Sie einen at-Job, der das Skript foobar.sh genau nach 30 Minuten ausführt.
at now +30 minutes
Führen Sie nun als root den Befehl atq aus, um die geplanten at-Jobs aller Benutzer zu
überprüfen. Was passiert, wenn ein normaler Benutzer diesen Befehl ausführt?
Der normale User sieht nur seine eigenen Jobs.