open-how2 – Entdecke. Verstehe. Nutze.
Veröffentlicht am
How2-Tipps

Debian: „crontab: command not found“ – Ursache und Lösung Schritt für Schritt

Autor
Debian: „crontab: command not found“ – Ursache und Lösung Schritt für Schritt

Wer auf einem Debian-Server einen Cronjob einrichten möchte und plötzlich folgende Fehlermeldung erhält:

crontab: command not found

steht meist vor einem einfachen, aber unerwarteten Problem: Der Cron-Dienst ist gar nicht installiert.

Gerade bei Minimal-Installationen, Cloud-Servern oder VPS-Systemen ist das völlig normal – Debian installiert Cron nicht automatisch.

In diesem Artikel zeige ich dir:

  • Warum der Fehler auftritt
  • Wie du Cron korrekt installierst
  • Wie du den Dienst aktivierst
  • Wie du prüfst, ob alles funktioniert
  • Und worauf du bei Minimal-Systemen achten solltest

Warum erscheint „crontab: command not found“?

Die Meldung bedeutet schlicht:

Das System kennt den Befehl crontab nicht.

Das kann zwei Ursachen haben:

  1. Das Paket cron ist nicht installiert
  2. Der Binary-Pfad ist nicht im $PATH (sehr selten)

In 99 % der Fälle ist es Punkt 1.

Viele Debian-Server (z. B. Netinstall, Cloud Images, LXC, Docker-Container) sind bewusst minimal gehalten und enthalten keinen Cron-Dienst.

Schritt 1 – Prüfen, ob Cron installiert ist

Zunächst kannst du testen:

which crontab

Wenn keine Ausgabe erscheint, ist Cron nicht vorhanden.

Alternativ:

dpkg -l | grep cron

Schritt 2 – Cron unter Debian installieren

Installation erfolgt ganz normal über apt:

sudo apt update
sudo apt install cron

Das Paket enthält:

  • den Cron-Dienst
  • das Kommando crontab
  • die System-Verzeichnisse unter /etc/cron.*

Schritt 3 – Dienst starten und aktivieren

Nach der Installation sollte der Dienst automatisch starten. Zur Sicherheit:

sudo systemctl enable cron
sudo systemctl start cron

Status prüfen:

systemctl status cron

Wenn alles korrekt läuft, siehst du:

Active: active (running)

Schritt 4 – Funktion testen

Jetzt kannst du prüfen:

crontab -l

Wenn noch kein Cronjob existiert, erscheint:

no crontab for user

Das ist korrekt und kein Fehler.

Schritt 5 – Test-Cronjob anlegen

Zum Test kannst du einen einfachen Job anlegen:

crontab -e

Beispiel-Eintrag:

* * * * * echo "Cron funktioniert" >> /tmp/cron_test.log

Das bedeutet:

  • Jede Minute wird ein Text in die Datei /tmp/cron_test.log geschrieben.

Nach 1–2 Minuten prüfen:

cat /tmp/cron_test.log

Wenn dort Einträge erscheinen → alles funktioniert.

Wichtige Hinweise bei Minimal-Systemen

1️⃣ Cron ist nicht Standard bei Minimal-Installationen

Gerade bei:

  • Debian Netinstall
  • VPS-Images
  • LXC-Containern
  • Docker
  • Cloud-Servern (Hetzner, AWS, DigitalOcean)

wird Cron oft nicht vorinstalliert.

Das ist kein Fehler – sondern Absicht.

2️⃣ Alternative: systemd Timer

Moderne Debian-Versionen bieten zusätzlich:

systemd timers

Diese ersetzen klassische Cronjobs und sind teilweise robuster und besser integrierbar.

Für klassische Webserver-Setups (PHP, Laravel, Wartungsskripte) ist Cron jedoch weiterhin völlig ausreichend und etabliert.

3️⃣ Root vs. Benutzer-Crontab

Es gibt zwei Varianten:

Benutzer-Crontab:

crontab -e

Systemweite Cronjobs:

/etc/crontab
/etc/cron.d/

Für Webanwendungen ist meist die Benutzer-Crontab des Webserver-Users oder root ausreichend.

Typische Fehlerquellen

Problem Ursache
Job läuft nicht falscher Pfad
Script funktioniert manuell, aber nicht per Cron fehlende Umgebungsvariablen
PHP-Fehler falsche PHP-Version
Keine Logs Ausgabe nicht umgeleitet

Beispiel für saubere PHP-Ausführung:

* * * * * /usr/bin/php /var/www/app/cron_runner.php >> /var/log/cron_runner.log 2>&1

Fazit

Die Meldung

crontab: command not found

ist unter Debian kein Drama – sondern meist nur ein Hinweis darauf, dass der Cron-Dienst noch nicht installiert wurde.

Mit:

sudo apt install cron

ist das Problem in wenigen Sekunden behoben.

Gerade bei Minimal-Servern solltest du Cron immer bewusst installieren und aktivieren, wenn du:

  • Backups automatisieren willst
  • PHP-Scheduler einsetzt
  • Laravel Tasks nutzt
  • Wartungsskripte regelmäßig ausführen musst
  • Monitoring betreibst