Was bedeutet „lokale Skripte“?
Als lokale Skripte bezeichnen wir Skripte, die direkt auf dem Webserver Ihres Projekts liegen und dort regelmäßig per Cronjob ausgeführt werden. Meist handelt es sich dabei um PHP-, Shell- oder Python-Skripte, z. B.:
/web/cron/export.php
/web/backup/datenbank.sh
Wie plane ich ein Skript sicher als Cronjob?
Damit ein lokales Skript zuverlässig und sicher per Cronjob läuft, sollten folgende Punkte beachtet werden:
1. Skript vor öffentlichem Zugriff schützen
Skripte, die sensible Daten verarbeiten (z. B. Backups oder Systembefehle), sollten nicht öffentlich im Browser aufrufbar sein. Dazu gibt es mehrere Möglichkeiten:
Skript außerhalb des /web-Verzeichnisses speichern, z. B.: /home/benutzer/scripts/backup.sh
Oder: Das Skript im /web-Verzeichnis durch eine .htaccess-Datei absichern
2. Absoluten Pfad angeben
In Cronjobs muss stets der vollständige Pfad zum Skript angegeben werden, z. B.:
php /home/benutzer/scripts/cron.php
/usr/bin/python3 /web/cron/analyse.py
Tipp: Den exakten Pfad können Sie über den Dateimanager oder per FTP ermitteln.
3. Skript manuell testen
Führen Sie das Skript einmal manuell aus, bevor Sie es als Cronjob hinterlegen:
php /pfad/zum/skript.php
So stellen Sie sicher, dass keine Zugriffs- oder Berechtigungsfehler auftreten.
4. Dateirechte kontrollieren
Das Skript muss ausführbar sein. Bei Shell-Skripten prüfen Sie das mit:
chmod +x mein_skript.sh
Stellen Sie außerdem sicher, dass keine unnötigen Schreibrechte gesetzt sind (z. B. 777 vermeiden).
5. Verzeichnispfade im Skript korrekt setzen
Wenn das Skript selbst mit Dateien oder Pfaden arbeitet, verwenden Sie besser absolute Pfade (z. B. /home/benutzer/data/), da Cronjobs oft in einer minimalen Umgebung ohne gesetztes Arbeitsverzeichnis laufen.
6. Ausgabe und Fehler protokollieren (empfohlen)
Leiten Sie die Ausgabe in ein Logfile um, damit Sie nachvollziehen können, was beim Cronjob passiert:
php /pfad/zum/skript.php >> /home/benutzer/logs/cron.log 2>&1
7. Sicherheitslücken vermeiden
Verwenden Sie keine temporären Cron-Skripte im öffentlichen Bereich
Vermeiden Sie Skripte, die ohne Authentifizierung aufgerufen werden können
Geben Sie Cronjobs nicht an Dritte weiter, ohne zu prüfen, was sie tun
Hinweis bei CMS-Systemen (z. B. WordPress, Joomla)
Verwenden Sie Cronjobs nicht direkt auf CMS-Core-Dateien, sondern nur auf eigene, geprüfte Skripte oder spezielle Cron-Plugins. Änderungen im CMS können Pfade oder Funktionen ändern.