Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Sicherungen mit cron planen

Nach dieser Lektion: Ich kann eine Sicherung anlegen und zu festen Zeiten automatisch ausführen lassen.

Lektion, 50 Min.11 BefehleLinux-Administrationslab: Benutzer, Berechtigungen, cron und systemd im Browser

Ein Backup, das du nie vergisst

Ein Backup ist eine Kopie von Daten an einem zweiten Ort. Sie rettet dich, wenn das Original kaputtgeht oder gelöscht wird.

Stell dir die Kasse eines Ladens vor. Fällt abends die Festplatte aus, sind die Einnahmen weg. Heute lernst du, wie ein Server solche Kopien jede Nacht von allein macht, mit dem Dienst cron.

Am Ende dieser Lektion

Notiz

Ich kann eine Sicherung anlegen und zu festen Zeiten automatisch ausführen lassen.

Schlüsselwörter

BegriffWas er bedeutetBeispiel
Backupeine Kopie von Daten an einem zweiten Ort
Archiveine einzige Datei, in der viele Dateien steckensicherung.tar.gz
cronder Dienst, der Befehle zu festen Zeiten startet
Cron-Zeileeine Zeile mit fünf Zeitfeldern und einem Befehl30 2 * * *
WiederherstellenDaten aus einer Sicherung zurückholen

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Bevor du anfängst

Notiz

Diese Lektion nutzt ein anderes Lab, einen Server zum Verwalten. Drück oben in der Leiste auf Lab starten und warte eine Minute. Jede Schaltfläche Ausführen tippt ihren Befehl in das Terminal der Maschine.

Ein Archiv packt viele Dateien in eine

Mit tar packst du Dateien in ein Archiv. Die Endung .tar.gz sagt: gepackt und verkleinert. -c erzeugt es, -z verkleinert, -f nennt den Dateinamen.

Du legst gleich eine kleine Datei an und sicherst sie. Sie spielt die Einnahmen der Kasse. Danach schaust du mit -t in das Archiv, ohne etwas auszupacken.

Eine Datei mit Kassendaten anlegen

Befehl
printf 'Kasse 1: 120 Euro\n' > ~/kasse.txt

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Die Datei in ein Archiv packen

Befehl
tar -czf ~/sicherung.tar.gz -C ~ kasse.txt

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Den Inhalt des Archivs auflisten

Befehl
tar -tzf ~/sicherung.tar.gz

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Ein Backup ist erst gut, wenn es zurückkommt

Viele merken erst im Notfall, dass ihre Sicherung leer oder kaputt ist. Probiere darum aus, ob du Daten zurückholen kannst.

Du löschst jetzt die Originaldatei und holst sie mit tar -x aus dem Archiv zurück. -C ~ heißt: in den Heimatordner auspacken.

Das Original löschen

Befehl
rm ~/kasse.txt

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Die Datei aus dem Archiv zurückholen

Befehl
tar -xzf ~/sicherung.tar.gz -C ~

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Prüfen, dass der Inhalt stimmt

Befehl
cat ~/kasse.txt

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Eine Cron-Zeile hat fünf Zeitfelder

Der Dienst cron startet Befehle zu festen Zeiten. Jede Aufgabe ist eine Cron-Zeile: fünf Zeitfelder und dann der Befehl.

Die Felder heißen der Reihe nach Minute, Stunde, Tag des Monats, Monat und Wochentag. Ein Stern * heißt „jede“. */15 heißt „alle 15“. Beim Wochentag ist 1 der Montag.

Beispiel: vier Cron-Zeilen

ZeitfelderWann der Befehl läuft
*/15 * * * *Alle 15 Minuten, den ganzen Tag
0 8 * * 1Jeden Montag um 8:00 Uhr
30 6 1 * *Am Ersten jedes Monats um 6:30 Uhr
0 */6 * * *Alle sechs Stunden, um 0, 6, 12 und 18 Uhr

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Ein häufiger Fehler

Warnung

Viele glauben, 5 * * * * heiße „alle fünf Minuten“. Das stimmt nicht. Es heißt: in Minute 5 jeder Stunde, also zum Beispiel um 9:05 und um 10:05. Für „alle fünf Minuten“ schreibst du */5 * * * *.

Jedes Konto hat seine eigene Cron-Liste

Die Liste eines Kontos heißt crontab. Mit crontab -l siehst du sie, mit crontab -r löschst du sie. Der Befehl crontab - liest die neue Liste von der Eingabe.

Du legst jetzt eine Zeile an, die jede Minute die Uhrzeit in eine Datei schreibt. Dann wartest du gut eine Minute. Der Run mit sleep 65 hält das Terminal so lange an.

Eine Cron-Zeile für jede Minute anlegen

Befehl
printf '* * * * * date >> $HOME/zeit.log\n' | crontab -

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Die Cron-Liste des Kontos ansehen

Befehl
crontab -l

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Gut eine Minute warten

Befehl
sleep 65

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Prüfen, ob cron die Datei beschrieben hat

Befehl
test -s ~/zeit.log && echo vorhanden

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Die Cron-Liste wieder leeren

Befehl
crontab -r

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Über dieses Lab und seinen Quellcode: Linux-Administrationslab: Benutzer, Berechtigungen, cron und systemd im Browser

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.