Überblick über crontab
crontab ist eine Abkürzung für 'cron table', eine Datei, die die geplanten Aufgaben eines Benutzers enthält. Jede Zeile dieser Datei definiert eine Aufgabe (job), die der cron-Daemon liest und zur festgelegten Zeit ausführt.
Struktur der crontab-Felder
Jede Zeile in der crontab-Datei besteht aus 6 Feldern. Die ersten 5 Felder definieren die Ausführungszeit, und das letzte Feld definiert den auszuführenden Befehl.
Feld | Beschreibung | Bereich |
---|---|---|
1 | Minute | 0-59 |
2 | Stunde | 0-23 |
3 | Tag des Monats | 1-31 |
4 | Monat | 1-12 |
5 | Tag der Woche | 0-7 (0 und 7 sind Sonntag) |
6 | Befehl | Der auszuführende Befehl oder das Skript |
Sonderzeichen
Verwenden Sie Sonderzeichen in den Zeitfeldern, um die Zeit flexibler anzugeben.
- `*`: Jede Zeit (z.B.: jede Minute, jede Stunde)
- `,`: Mehrere Werte angeben (z.B.: `1,3,5` -> 1, 3, 5 Minuten)
- `-`: Bereich angeben (z.B.: `10-15` -> von 10 bis 15 Minuten)
- `/`: Intervall angeben (z.B.: `*/10` -> alle 10 Minuten)
Hauptoptionen
Sehen Sie sich die Verwaltungsoptionen der crontab-Datei an, die die Kernfunktionen des crontab-Befehls darstellen.
1. Verwaltung der crontab-Datei
2. Benutzerverwaltung
Erzeugter Befehl:
Kombinieren Sie die Befehle.
Beschreibung:
`crontab` Führen Sie den Befehl aus.
Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.
Häufig verwendete Beispiele
Lernen Sie, wie Sie mit crontab verschiedene wiederkehrende Aufgaben einrichten.
Backup-Skript täglich um 2:30 Uhr ausführen
crontab -e
30 2 * * * /home/user/backup.sh
Stellt ein, dass das Skript `/home/user/backup.sh` täglich um 2:30 Uhr ausgeführt wird.
Systemaktualisierung jeden Montag um 8 Uhr
crontab -e
0 8 * * 1 sudo apt update && sudo apt upgrade -y
Aktualisiert die Systempakete jeden Montag um 8 Uhr. (basierend auf Ubuntu/Debian)
Protokolldatei alle 10 Minuten bereinigen
crontab -e
*/10 * * * * echo '' > /var/log/app.log
Löscht den Inhalt der Datei `/var/log/app.log` alle 10 Minuten.
Webserver zu einer bestimmten Zeit neu starten
crontab -e
0 4 1 * * sudo systemctl restart nginx
Startet den Webserver (nginx) am 1. eines Monats um 4 Uhr morgens neu.
Aufgabe stündlich von 6 bis 18 Uhr ausführen
crontab -e
0 6-18 * * * /path/to/myscript.sh
Führt `myscript.sh` stündlich von 6 bis 18 Uhr aus.
crontab installieren (falls erforderlich)
In den meisten Linux-Distributionen ist es standardmäßig installiert, jedoch müssen in einigen minimalen Installationsumgebungen möglicherweise das cron-Daemon-Paket installiert werden.
Debian/Ubuntu
sudo apt update
sudo apt install cron
Installiert das cron-Daemon auf Ubuntu- oder Debian-basierten Systemen.
CentOS/RHEL/Fedora
sudo yum install cronie
sudo systemctl enable crond
sudo systemctl start crond
Installiert das cron-Daemon auf CentOS-, RHEL- oder Fedora-basierten Systemen.