TL;DR: Der Fehler tritt auf, wenn Cron nicht installiert ist, der falsche Befehl (cron
statt crontab
) verwendet wird oder der Dienst nicht läuft.
Lösung:
# Installation (Debian/Ubuntu)
sudo apt-get install cron -y
# Installation (CentOS/RHEL)
sudo yum install cronie -y
# Dienst starten
sudo systemctl start cron
Für Cronjobs immer crontab
verwenden, nicht cron
.
Was bedeutet der Fehler? #
Unter Linux sorgt der Cron-Daemon dafür, dass zeitgesteuerte Aufgaben (Cronjobs) ausgeführt werden.
Die Meldung „Command cron
is not defined“ weist in der Regel darauf hin, dass:
- Der Befehl oder Dienst nicht installiert ist.
- Das System die falsche Syntax verwendet (z. B.
cron
stattcrontab
). - Der Cron-Dienst zwar vorhanden ist, aber nicht gestartet wurde.
Mögliche Ursachen & Lösungen #
1. Cron ist nicht installiert #
Auf vielen Minimal-Installationen (z. B. Docker-Container, schlanke Linux-Images) fehlt Cron standardmäßig.
# Debian/Ubuntu
sudo apt-get update && sudo apt-get install cron -y
# CentOS/RHEL
sudo yum install cronie -y
Danach:
sudo systemctl enable cron
sudo systemctl start cron
2. Falscher Befehl verwendet #
Viele Nutzer versuchen, cron
direkt aufzurufen. Meistens muss jedoch crontab
verwendet werden:
- Benutzer-Crontab bearbeiten:
crontab -e
- Aktuelle Jobs anzeigen:
crontab -l
3. Cron läuft nicht #
Status prüfen:
systemctl status cron
Falls gestoppt → starten:
sudo systemctl start cron
4. Cron nicht im PATH (selten) #
which cron
Wenn nichts gefunden wird → neu installieren oder Pfad korrigieren.
Quick Fixes #
- Installation prüfen:
which cron
- Falls nicht vorhanden → installieren (
apt install cron
oderyum install cronie
). - Dienst starten:
systemctl start cron
- Für Jobs
crontab
nutzen, nichtcron
.
Fazit #
Der Fehler „Command cron
is not defined“ entsteht fast immer, weil Cron nicht installiert oder falsch aufgerufen wird. Mit der Installation und einem Dienststart ist das Problem meist sofort gelöst.