Con un Cronjob puoi eseguire determinati comandi o script sul tuo web hosting automaticamente a orari stabiliti. I cronjob sono adatti, ad esempio, per attività di manutenzione regolare, importazioni, esportazioni, elaborazione dati o script PHP temporizzati.
In CURIAWEB-cPanel puoi creare e gestire i cron job direttamente tramite l'interfaccia utente. Due informazioni sono particolarmente importanti: Quando deve essere eseguito il cronjob e quale comando deve essere eseguito?
In questa guida ti mostriamo come creare un cronjob in cPanel, impostare correttamente i parametri temporali, utilizzare percorsi assoluti ed evitare errori tipici.
Importante: Un cronjob esegue automaticamente il comando inserito. Pertanto, verifica attentamente cosa fa il comando, soprattutto nel caso di script, importazioni, funzioni di eliminazione o manutenzione, prima di farlo eseguire regolarmente.
Cos'è un cronjob? #
Un cronjob è un'attività programmata a tempo su un sistema Linux.
In parole semplici, un cronjob è composto da:
Pianificazione
+
Comando
=
attività eseguita automaticamente
Puoi usarlo, ad esempio, per stabilire:
Tutti i giorni alle 03:00
→ Esegui script PHP
o:
Ogni 15 minuti
→ avviare un determinato processo
Il server eseguirà quindi l'operazione automaticamente, senza che tu debba accedere a cPanel ogni volta.
A cosa servono i cron job? #
I cronjob vengono utilizzati dalle applicazioni web e da script personalizzati per le attività ricorrenti più disparate.
Esempi tipici sono:
- importazioni di dati regolari
- esportazioni automatiche
- Elaborazione delle code
- attività di manutenzione basate sul tempo
- Esecuzione di script PHP propri
- Sincronizzazione dei dati
- Esecuzione delle attività di un CMS o di un negozio
Quali cronjob siano necessari dipende dall'applicazione utilizzata.
Non creare un cronjob senza specificare un'applicazione #
Se una documentazione software richiede un determinato cronjob, dovresti usare il comando ivi specificato e l'intervallo raccomandato come punto di partenza.
Non inventare un comando di esecuzione se non sai come l'applicazione elabora le sue attività pianificate.
Consiglio pratico: Molte applicazioni web forniscono già nella loro documentazione un comando cron completo o almeno lo script da eseguire e un intervallo consigliato.
Accedi a cPanel #
Accedi al tuo cPanel di CURIAWEB.
Apri quindi:
Opzioni avanzate → Cronjob
Lì puoi visualizzare i cronjob esistenti e creare nuove attività.
2. Controllare l'indirizzo email per l'output dei cronjob #
Nel pannello dei Cron job, cPanel può offrire un'impostazione per le notifiche via email o per l'output dei cron.
Se un cronjob produce un output, questo può – a seconda della configurazione – essere inviato tramite e-mail.
Questo può essere molto utile durante la configurazione e la risoluzione dei problemi.
Importante: Non sopprimere immediatamente l'output di un nuovo cronjob. Soprattutto durante il primo test, i messaggi di errore possono fornire indicazioni importanti se il comando non funziona correttamente.
3. Aggiungi un nuovo cronjob #
Vai alla sezione per l'aggiunta di un nuovo cronjob.
Un cronjob richiede fondamentalmente:
- Minuto
- Ora
- Giorno del mese
- Mese
- Giorno della settimana
- Comando
cPanel può inoltre offrire orari predefiniti o impostazioni generali con cui è possibile selezionare più facilmente gli intervalli di uso comune.
Comprendere i cinque campi temporali #
La sintassi classica di cron è composta da cinque campi temporali:
Minuto Ora Giorno Mese Giorno della settimana
Segue il comando da eseguire.
Lo schema, in modo semplificato, appare così:
* * * * * Comando
│ │ │ │ │
│ │ │ │ └─ Giorno della settimana
│ │ │ └─── Mese
│ │ └───── Giorno del mese
│ └─────── Ora
└───────── Minuto
Cosa significa l'asterisco *? #
Una stella:
*
in un campo temporale Cron significa fondamentalmente che viene preso in considerazione ogni valore possibile di quel campo.
Per esempio:
* * * * *
corrisponde a una versione molto comune, ovvero fondamentalmente ogni minuto.
Attenzione: Usa
* * * * *non avventatamente. Uno script avviato ogni minuto può consumare risorse inutilmente o essere eseguito più volte contemporaneamente se un'esecuzione richiede più tempo.
4. Definire il cronoprogramma #
Stabilisci ora la frequenza con cui deve essere eseguito il cronjob.
Se l'applicazione utilizzata richiede un intervallo specifico, dovresti attenerti fondamentalmente a questa raccomandazione.
Esempio: ogni 5 minuti #
Un cron job ogni cinque minuti utilizza tipicamente:
*/5 * * * *
Questo significa:
Minuto: */5
Ora: *
Giorno: *
Mese: *
Giorno della settimana: *
Il comando verrà quindi eseguito in via di principio ogni cinque minuti.
Esempio: ogni 15 minuti #
*/15 * * * *
In questo modo l'esecuzione avviene fondamentalmente ogni 15 minuti.
Esempio: ogni ora #
Il cronjob deve essere eseguito all'inizio di ogni ora:
0 * * * *
Per esempio:
01:00
02:00
03:00
04:00
...
Esempio: ogni giorno alle 03:00 #
0 3 * * *
Questo significa:
Minuto: 0
Ora: 3
Giorno: *
Mese: *
Giorno della settimana: *
Il cronjob viene eseguito fondamentalmente una volta al giorno alle 03:00 in base all'ora del server rilevante per l'esecuzione del cron.
Esempio: ogni giorno alle 03:30 #
30 3 * * *
Il cronjob viene quindi eseguito fondamentalmente ogni giorno alle 03:30.
Esempio: ogni lunedì alle 06:00 #
0 6 * * 1
Ecco la 1 per lunedì.
Esempio: il primo giorno di ogni mese #
Se un cronjob deve essere eseguito il primo giorno di ogni mese alle 02:00:
0 2 1 * *
Esempio: ogni sei ore #
Un'altra grafia possibile è:
0 */6 * * *
In questo modo il comando viene eseguito fondamentalmente su una base di sei ore.
Elenchi e intervalli nelle espressioni Cron #
Oltre a singoli valori e asterischi, Cron supporta anche altre notazioni.
Un trattino può definire un intervallo:
1-5
Un elenco separato da virgole può specificare più valori concreti:
1,3,5
Una barra può essere utilizzata per un intervallo:
*/10
La combinazione che ha senso dipende dal calendario desiderato.
Usa pianificazioni cPanel predefinite #
Per gli intervalli richiesti di frequente, puoi utilizzare le impostazioni generali o predefinite offerte da cPanel.
Questo riduce il rischio di impostare erroneamente i cinque campi temporali.
Controlla comunque i valori generati da essi, in modo che corrispondano effettivamente al programma desiderato.
differenza tra ora del server e ora locale #
Un punto importante per quanto riguarda i cron job è il fuso orario di riferimento.
L'ora del server determinante per l'esecuzione non deve necessariamente corrispondere alla tua ora locale.
Se un cron job deve essere eseguito a una determinata ora locale, dovresti quindi verificare quale fuso orario si applica all'esecuzione del cron.
Importante: Se un cronjob sembra avviarsi una o più ore „in anticipo“ o „in ritardo“, controlla prima il fuso orario prima di modificare la pianificazione alla cieca.
Tenere conto dell'ora legale e solare #
Anche i cambi dell'ora possono giocare un ruolo nelle attività critiche rispetto al tempo.
Se e come il passaggio all'ora legale/solare influisca su un cronjob dipende dalla configurazione del fuso orario del sistema.
Se un'attività deve assolutamente essere eseguita a un determinato orario locale svizzero, è necessario controllare di conseguenza i tempi di esecuzione effettivi.
5. Inserire il comando da eseguire #
Nel campo Comando inserisci ciò che il server deve eseguire all'ora stabilita.
Il comando specifico dipende interamente dalla rispettiva applicazione o attività.
In uno script PHP, il principio di base potrebbe essere il seguente:
/percorso/del/php-binary /home/CPANELUSER/public_html/script.php
I percorsi effettivi devono corrispondere al tuo account di hosting e all'ambiente PHP utilizzato.
Attenzione: Non copiare percorsi PHP da guide di hosting di terze parti. Il percorso del binario PHP può variare a seconda del server, dell'ambiente PHP e della versione di PHP.
Cos'è un binario PHP? #
Un binario PHP è il programma PHP eseguibile con cui è possibile avviare uno script PHP tramite la riga di comando.
Durante una richiesta web, il server web o l'ambiente PHP configurato elabora il file PHP. Un cron job, invece, richiede un comando PHP eseguibile appropriato in caso di chiamata diretta da CLI.
In sintesi:
Chiamata da browser:
Webserver → PHP → Script
Cronjob:
Binario PHP → Script
Prestare attenzione alla versione PHP del cron job #
Se il tuo sito web utilizza una specifica versione di PHP, con un cron job PHP dovresti assicurarti che il comando PHP eseguito corrisponda all'applicazione.
La versione PHP del sito web e la versione PHP di una chiamata da riga di comando non sono automaticamente la stessa cosa.
Importante: Eseguito tramite SSH
php -vrispettivamente un generalephpIl comando non dimostra automaticamente che esattamente la stessa versione di PHP venga utilizzata anche per il tuo sito web o per il tuo cron job.
La versione PHP del tuo dominio viene gestita su CURIAWEB fondamentalmente tramite il MultiPHP-Manager.
Utilizzare percorsi assoluti #
Per i cronjob, dovresti usare percorsi assoluti per script e file, quando possibile.
Un percorso assoluto inizia dal file system e designa la destinazione in modo univoco.
Ad esempio in modo schematico:
/home/CPANELUSER/public_html/cron.php
Un percorso relativo come:
cron.php
invece dipende da quale directory di lavoro viene eseguito il comando.
Ciò può causare errori imprevisti durante le esecuzioni automatiche dei cron.
Non confondere l'indirizzo web con il percorso del file system #
Un URL come:
non è la stessa cosa di un percorso di file system:
/home/CPANELUSER/public_html/cron.php
Un URL indica una risorsa tramite HTTP o HTTPS. Un percorso del file system indica un file direttamente sul server.
Quale variante richieda un'applicazione dipende dalla sua documentazione.
Come trovo il percorso file corretto? #
Sono Gestione file di cPanel puoi ricostruire la struttura delle directory del tuo account di hosting.
Se, ad esempio, il tuo dominio è associato a una determinata Document Root, lo script da eseguire si trova all'interno di tale struttura di directory.
Non usare automaticamente public_html, se il dominio in questione possiede una diversa document root.
Considerare la Document Root di un dominio aggiuntivo #
In presenza di più domini, ciascun sito web può essere associato a una propria directory.
Un cron job per:
shop.example.com
non deve quindi necessariamente riferirsi a un file in:
/public_html/
mostrare.
Verifica il percorso effettivo dell'applicazione in questione.
6. Aggiungi cronjob #
Se la pianificazione e il comando sono inseriti correttamente, aggiungi il nuovo cronjob.
Il cronjob dovrebbe quindi comparire nell'elenco dei cronjob esistenti.
Controlla di nuovo lì:
- Minuto
- Ora
- Etichetta
- Mese
- Giorno della settimana
- Comando
7. Testare prima il cronjob in modo controllato #
Con un nuovo cronjob non dovresti aspettare diversi giorni per verificare se il comando funziona davvero.
Se l'applicazione lo consente, puoi utilizzare temporaneamente un intervallo più breve per un test controllato.
Successivamente, imposti nuovamente il cron job sulla pianificazione effettivamente desiderata.
Attenzione: Usa un intervallo di test breve solo se il processo eseguito può essere avviato più volte senza rischi. Un'importazione, un processo di spedizione o un altro script che apporta modifiche non devono essere eseguiti più volte in modo incontrollato.
8. Verifica il risultato dell'esecuzione #
Come capire se il cronjob è andato a buon fine dipende dall'applicazione eseguita.
Possibili opzioni di controllo sono:
- Output del cronjob
- Notifica via email
- File di log dell'applicazione
- Timestamp di un file generato
- Stato all'interno dell'applicazione
- dataset elaborati
Un inserimento esistente in cPanel dimostra solo che il cron job è stato impostato, non che il comando eseguito funzioni correttamente.
Capire l'output di un cronjob #
Un comando può generare sia output normali che messaggi di errore.
Sotto Linux questi vengono fondamentalmente trattati come canali di output diversi:
stdout
→ output standard
stderr
→ errori standard
Questa distinzione diventa importante quando si desidera reindirizzare o registrare l'output.
Scrivere l'output in un file di log #
Per determinati script personali, può essere utile reindirizzare l'output in un file.
Un esempio schematico:
COMANDO >> /home/CPANELUSER/logs/cron.log 2>&1
Ciò significa:
→ Accoda l'output a un file
2>&1
→ Reindirizza l'output degli errori all'output standard
Utilizza solo percorsi che esistono nel tuo account di hosting e che sono scrivibili.
I file di log possono diventare molto grandi #
Se un cronjob eseguito di frequente registra diverse righe a ogni esecuzione, un file di log può crescere notevolmente nel tempo.
Controlla regolarmente i log dei cron job creati da te oppure utilizza un'opportuna rotazione dei log, se previsto per la tua applicazione.
Sopprimere l'output con /dev/null #
In molte guide su Cron trovi costruzioni come:
COMANDO > /dev/null 2>&1
/dev/null scarta l'output reindirizzato lì.
Ciò può avere senso nel caso di un cronjob che funziona in modo stabile, se deliberatamente non hai bisogno dell'output.
Attenzione: Usa
/dev/nullnon agire per riflesso con un cronjob nuovo o difettoso. Potresti scartare proprio il messaggio di errore di cui hai bisogno per la diagnosi.
Differenza tra > e >> #
Durante il reindirizzamento ai file, la differenza è importante.
> scrive l'output in un file, sostituendo fondamentalmente il contenuto precedente.
>> aggiunge fondamentalmente la nuova edizione al file esistente.
Esempio:
COMANDO > cron.log
→ Sovrascrivi file
COMANDO >> cron.log
→ Aggiungi output
Che cosa significa 2>&1? #
L'ortografia:
2>&1
configura l'output degli errori in modo da utilizzare la stessa destinazione dell'output standard.
In questo modo i messaggi normali e i messaggi di errore possono finire insieme in un file di log o essere scartati insieme.
Chiamata HTTP tramite un cron job #
Molte applicazioni non specificano un comando PHP-CLI diretto, ma richiedono la chiamata regolare di un URL.
A seconda dell'ambiente di hosting e dei requisiti dell'applicazione, a tale scopo è possibile utilizzare, ad esempio, un comando da riga di comando per il recupero di un indirizzo HTTP/HTTPS.
In questo caso, usa il comando consigliato dall'applicazione.
Importante: Non sostituire una chiamata CLI prevista dall'applicazione con una chiamata HTTP, o viceversa, senza un motivo valido. Entrambe le varianti possono comportarsi diversamente dal punto di vista tecnico.
Distinguere tra chiamata CLI e chiamata HTTP #
In una chiamata PHP-CLI diretta, lo script PHP viene eseguito tramite la riga di comando.
Durante una chiamata HTTP viene invece richiamato un indirizzo web, in modo simile a quanto avviene tramite un browser o un altro client HTTP.
In sintesi:
CLI:
Cron → PHP → File
HTTP:
Cron → HTTP/HTTPS → Webserver → Applicazione
L'applicazione determina quale variante è prevista.
Le variabili d'ambiente di un cron job possono essere diverse #
Un cronjob non viene necessariamente eseguito con esattamente lo stesso ambiente di una sessione SSH interattiva.
In particolare, i percorsi di ricerca e altre variabili d'ambiente possono differire.
Ecco perché un comando può funzionare in una shell interattiva mentre lo stesso comando abbreviato fallisce come cronjob.
I percorsi assoluti di programmi e file riducono tali dipendenze.
Il cronjob richiede i diritti di scrittura #
Se uno script deve creare, modificare o eliminare file, il processo eseguito necessita dei relativi permessi.
Un errore di scrittura non significa quindi automaticamente che la pianificazione del cron sia errata.
Verifica in caso di tali problemi:
- Percorso file
- Elenco
- Permessi dei file
- Logica applicativa
Le basi sui permessi dei file sono disponibili alla pagina Impostare correttamente i permessi dei file 644 e 755 in cPanel.
Cronjob e limiti di PHP #
Un script PHP eseguito tramite un cron job può essere soggetto a condizioni ambientali diverse rispetto alla normale richiesta di una pagina web.
Se un cron job fallisce a causa del fabbisogno di memoria o del tempo di esecuzione, bisogna quindi verificare per prima cosa quale ambiente PHP sta effettivamente eseguendo il comando.
Trattiamo i limiti generali di PHP di un sito web alla voce Imposta limite di memoria PHP, dimensione di caricamento e tempo di esecuzione.
Importante: Non trasferire automaticamente i valori dalla configurazione PHP web a PHP CLI. È determinante l'ambiente PHP che esegue effettivamente il comando cron.
Cronjob ed estensioni PHP #
Anche le estensioni PHP richieste possono avere un ruolo in uno script PHP.
Se uno script funziona tramite il sito web, ma tramite un cron job segnala una funzione PHP mancante, si dovrebbe verificare se il cron job utilizza effettivamente la stessa o una compatibile ambiente PHP.
Puoi trovare ulteriori informazioni su Attivare e gestire le estensioni PHP in cPanel.
Differenza tra WordPress WP-Cron e Server-Cron #
WordPress possiede WP-Cron un proprio sistema per le attività pianificate.
Tuttavia, WP-Cron non è un classico cronjob di Linux.
Per impostazione predefinita, WordPress verifica le attività pianificate in concomitanza con le visite al sito web.
In sintesi:
Il visitatore visita WordPress
→ WordPress controlla le attività pianificate
→ gli eventi WP-Cron scaduti possono essere elaborati
Al contrario, un vero cronjob del server viene avviato dalla pianificazione del server indipendentemente da una normale visita di un utente.
Perché WP-Cron non deve essere preciso al minuto #
Se un sito web WordPress riceve poche visite o visite irregolari, le attività WP-Cron programmate possono essere avviate più tardi del previsto.
Pertanto, WP-Cron non è equiparabile a un cron di sistema classico, che viene eseguito secondo una pianificazione fissa.
Attivare WP-Cron tramite un vero cronjob #
Con determinate configurazioni di WordPress, può essere utile avviare regolarmente l'elaborazione delle attività pianificate di WordPress tramite un vero cronjob del server.
Questo dovrebbe però essere configurato consapevolmente.
Se il normale meccanismo WP-Cron di WordPress viene disattivato, bisogna assicurarsi che le attività programmate vengano successivamente attivate in modo affidabile tramite il meccanismo alternativo.
Attenzione: Non disattivare semplicemente WP-Cron in
wp-config.php, senza prima aver impostato e testato un sostituto funzionante. In caso contrario, le attività programmate di WordPress potrebbero non essere eseguite.
comprendere DISABLE_WP_CRON #
In WordPress il normale meccanismo di chiamata di WP-Cron può essere gestito tramite una costante nel file wp-config.php essere influenzati.
Una configurazione corrispondente può includere, ad esempio:
define( 'DISABLE_WP_CRON', true );
Questo dovrebbe essere utilizzato solo se viene configurato consapevolmente un meccanismo alternativo e funzionante per l'elaborazione del cron di WordPress.
La modifica del file wp-config.php dovrebbe essere preventivamente messo in sicurezza ed eseguito con cura.
WooCommerce und Cronjobs #
WooCommerce und WooCommerce-Erweiterungen verwenden zeitgesteuerte beziehungsweise Hintergrundaufgaben für verschiedene Prozesse.
Dazu können je nach Konfiguration beispielsweise geplante Aktionen, Benachrichtigungen, Synchronisationen oder andere Hintergrundprozesse gehören.
Ändere die Cron-Konfiguration eines produktiven WooCommerce-Shops deshalb nicht unüberlegt.
Häufigkeit passend zur Aufgabe wählen #
Ein Cronjob sollte nicht häufiger ausgeführt werden als technisch erforderlich.
Wenn eine Aufgabe nur einmal täglich benötigt wird, gibt es normalerweise keinen Grund, sie jede Minute zu starten.
Eine unnötig hohe Frequenz kann:
- zusätzliche CPU-Zeit benötigen
- PHP-Prozesse erzeugen
- Datenbankabfragen auslösen
- externe APIs belasten
- zu überlappenden Ausführungen führen
Überlappende Cronjobs vermeiden #
Ein besonders wichtiger Fall entsteht, wenn ein Cronjob häufiger gestartet wird, als seine Ausführung dauert.
Esempio:
Cronjob startet alle 5 Minuten
Ausführung dauert 8 Minuten
Dann kann die nächste Ausführung beginnen, obwohl die vorherige noch nicht beendet wurde.
Je nach Anwendung können dadurch mehrere identische Prozesse gleichzeitig laufen.
Attenzione: Bei langen Importen, Synchronisationen oder rechenintensiven Aufgaben solltest du sicherstellen, dass das gewählte Intervall zur tatsächlichen Laufzeit passt beziehungsweise die Anwendung parallele Ausführungen verhindert.
Cronjobs und CloudLinux-Ressourcen #
Auch ein Cronjob verbraucht Hosting-Ressourcen.
Ein häufig ausgeführtes oder rechenintensives Skript kann beispielsweise CPU, Arbeitsspeicher, Prozesse oder Datenbankressourcen beanspruchen.
Wenn ein Cronjob regelmäßig mit hoher Last zusammenfällt, sollte seine Laufzeit und Frequenz überprüft werden.
Die Ressourcenauswertung behandeln wir unter Comprendere l'utilizzo delle risorse di CloudLinux in cPanel.
Mehrere schwere Cronjobs nicht zur selben Minute starten #
Wenn du mehrere ressourcenintensive Aufgaben betreibst, kann es sinnvoll sein, deren Startzeiten zu verteilen.
Statt beispielsweise drei umfangreiche Prozesse alle um:
03:00
zu starten, können – sofern die Anwendungen dies erlauben – unterschiedliche Startzeiten verwendet werden.
Dadurch entstehen nicht unnötig mehrere Lastspitzen gleichzeitig.
Cronjob manuell testen #
Wenn du über SSH verfügst und den verwendeten Befehl sicher kennst, kann ein manueller Test hilfreich sein.
Damit lässt sich unterscheiden, ob:
- der Befehl selbst fehlerhaft ist
- oder nur die automatische Cron-Ausführung Probleme verursacht
Ein manueller Test sollte jedoch nur durchgeführt werden, wenn die betreffende Aufgabe gefahrlos erneut ausgeführt werden kann.
Manueller Test funktioniert, Cronjob nicht #
Wenn ein Befehl manuell funktioniert, als Cronjob aber nicht, solltest du insbesondere prüfen:
- absolute Pfade
- PHP-Binary
- Umgebungsvariablen
- Berechtigungen
- Cron-Zeitplan
- Ausgaben und Fehlermeldungen
Eine systematische Fehlersuche behandeln wir im Artikel Cronjob non funziona: cause e soluzioni.
Cronjob wird scheinbar nicht ausgeführt #
Wenn eine Aufgabe nicht zum erwarteten Zeitpunkt ausgeführt wird, prüfe zuerst den Zeitplan.
Ein häufiger Fehler ist die Verwechslung von:
- Minute und Stunde
- Tag des Monats und Wochentag
- lokaler Zeit und Serverzeit
- Intervall und konkretem Zeitpunkt
Prüfe danach den Befehl selbst.
Cronjob läuft, Skript erzeugt aber Fehler #
In diesem Fall funktioniert möglicherweise die zeitgesteuerte Ausführung, während das eigentliche Skript fehlschlägt.
Das sind zwei unterschiedliche Ebenen:
Cron startet Befehl
→ funktioniert
Skript wird ausgeführt
→ erzeugt Fehler
Untersuche dann die Fehlermeldung des Skripts beziehungsweise dessen eigene Logdateien.
PHP-Fehler protokollieren #
Wenn ein PHP-Skript einen Fehler erzeugt, kann je nach Konfiguration eine entsprechende Protokollierung hilfreich sein.
Bei Website-Fehlern erklären wir die cPanel-Protokolle unter Leggere il log degli errori di cPanel e trovare gli errori del sito web.
Beachte jedoch, dass ein CLI-Cronjob nicht zwingend dieselben Logs und dieselbe PHP-Konfiguration wie ein normaler Webaufruf verwendet.
Cronjob bearbeiten #
Bestehende Cronjobs werden im cPanel-Cronjob-Bereich aufgelistet.
Wenn du einen Zeitplan oder Befehl ändern möchtest, kontrolliere vor der Änderung den bisherigen Eintrag.
Bei komplexeren Befehlen kann es sinnvoll sein, den alten Wert vorab zu kopieren beziehungsweise zu dokumentieren.
Cronjob löschen #
Wenn ein Cronjob nicht mehr benötigt wird, kannst du ihn über die entsprechende Funktion entfernen.
Prüfe vor dem Löschen, ob die zugehörige Anwendung den Cronjob weiterhin benötigt.
Attenzione: Das Löschen eines Cronjobs löscht nicht automatisch die zugehörige Anwendung. Es kann aber dazu führen, dass deren geplante Hintergrundaufgaben nicht mehr ausgeführt werden.
Alte Cronjobs nach Website-Umzug prüfen #
Nach einer Migration oder einem Umbau des Hosting-Accounts solltest du vorhandene Cronjobs kontrollieren.
Absolute Pfade können sich durch einen Umzug ändern.
Ein alter Befehl kann beispielsweise noch auf ein Verzeichnis zeigen, das auf dem neuen Hosting nicht existiert.
Cronjobs nach PHP-Wechsel prüfen #
Wenn eine Anwendung auf eine andere PHP-Version umgestellt wird, solltest du auch PHP-basierte Cronjobs berücksichtigen.
Ein Cronjob mit einem fest eingetragenen PHP-Binary-Pfad kann weiterhin eine andere PHP-Version aufrufen als die Website.
Prüfe deshalb nach relevanten PHP-Änderungen, ob zeitgesteuerte PHP-Skripte weiterhin mit der vorgesehenen Umgebung laufen.
Sensible Daten nicht direkt in Cron-Befehle schreiben #
Vermeide es nach Möglichkeit, Passwörter, API-Schlüssel oder andere vertrauliche Zugangsdaten direkt in einen Cron-Befehl einzutragen.
Solche Informationen sollten entsprechend der jeweiligen Anwendung sicher konfiguriert werden.
Öffentlich erreichbare Cron-Skripte absichern #
Wenn ein Cronjob eine über das Web erreichbare URL aufruft, solltest du prüfen, ob diese URL von beliebigen Besuchern ebenfalls ausgelöst werden kann.
Bei sensiblen oder ressourcenintensiven Aufgaben kann eine Anwendung dafür eigene Schutzmechanismen vorsehen.
Verwende die vom jeweiligen Hersteller empfohlene Absicherung.
Beispiele für häufige Zeitpläne #
| Gewünschte Ausführung | Cron-Zeitplan |
|---|---|
| Jede Minute | * * * * * |
| Alle 5 Minuten | */5 * * * * |
| Alle 15 Minuten | */15 * * * * |
| Zu Beginn jeder Stunde | 0 * * * * |
| Täglich um 03:00 Uhr | 0 3 * * * |
| Täglich um 03:30 Uhr | 30 3 * * * |
| Jeden Montag um 06:00 Uhr | 0 6 * * 1 |
| Am 1. jedes Monats um 02:00 Uhr | 0 2 1 * * |
| Alle 6 Stunden zur vollen Stunde | 0 */6 * * * |
Checkliste vor dem Speichern eines Cronjobs #
Kontrolliere vor dem Hinzufügen:
- Ist das richtige Skript beziehungsweise Kommando eingetragen?
- Verwendest du absolute Pfade?
- Ist bei PHP-Skripten die passende PHP-Umgebung berücksichtigt?
- Ist das Intervall wirklich erforderlich?
- Kann die Aufgabe länger dauern als das Intervall?
- Ist die relevante Zeitzone berücksichtigt?
- Benötigst du die Ausgabe für die ersten Tests?
- Kann die Aufgabe gefahrlos mehrfach ausgeführt werden?
Empfohlener Ablauf für einen neuen Cronjob #
- Prüfe die Dokumentation der verwendeten Anwendung.
- Notiere den benötigten Befehl und das empfohlene Intervall.
- Accedi a cPanel.
- Apri Opzioni avanzate → Cronjob.
- Prüfe die Einstellung für Cron-E-Mail-Ausgaben.
- Lege den gewünschten Zeitplan fest.
- Kontrolliere Minute, Stunde, Tag, Monat und Wochentag.
- Berücksichtige die für den Cronjob geltende Zeitzone.
- Trage den vollständigen Befehl ein.
- Verwende bei Dateien möglichst absolute Pfade.
- Prüfe bei PHP-Skripten die verwendete PHP-Binary.
- Unterdrücke Fehlermeldungen beim ersten Test nicht unnötig.
- Füge den Cronjob hinzu.
- Kontrolliere den gespeicherten Eintrag.
- Prüfe nach der ersten Ausführung, ob die Aufgabe erfolgreich abgeschlossen wurde.
- Stelle einen vorübergehend verkürzten Testzeitplan anschließend wieder auf das gewünschte Intervall zurück.
Quando dovresti contattare il supporto di CURIAWEB? #
Wenn ein Cronjob trotz korrektem Zeitplan nicht funktioniert und du die Ursache nicht feststellen kannst, dokumentiere den vorhandenen Eintrag möglichst genau.
Per un'analisi sono particolarmente utili le seguenti indicazioni:
- dominio o applicazione interessati
- vollständiger Cron-Befehl ohne vertrauliche Zugangsdaten
- eingestellter Zeitplan
- erwarteter Ausführungszeitpunkt
- tatsächlich beobachtetes Verhalten
- verwendete PHP-Version beziehungsweise PHP-Binary, falls relevant
- messaggio di errore completo
- ob der Befehl manuell funktioniert
- ob der Cronjob früher bereits funktioniert hat
Übermittle keine Passwörter, API-Schlüssel oder andere vertrauliche Zugangsdaten.
Riepilogo #
Mit Cronjobs kannst du Befehle und Skripte auf deinem CURIAWEB-Webhosting automatisch nach einem festgelegten Zeitplan ausführen lassen. Du findest die Verwaltung unter Opzioni avanzate → Cronjob.
Ein Cronjob besteht aus fünf Zeitfeldern für Minute, Stunde, Tag, Monat und Wochentag sowie dem auszuführenden Befehl. Häufig verwendete Zeitpläne sind beispielsweise */5 * * * * für alle fünf Minuten oder 0 3 * * * für eine tägliche Ausführung um 03:00 Uhr.
Verwende für Skripte möglichst absolute Dateipfade und beachte bei PHP-Cronjobs, dass die PHP-Version eines Kommandozeilenaufrufs nicht automatisch mit der PHP-Version der Website identisch sein muss.
Unterdrücke Ausgaben und Fehlermeldungen eines neuen Cronjobs nicht vorschnell mit /dev/null. Sie sind bei der Einrichtung und Fehlersuche häufig die wichtigste Informationsquelle.
Achte außerdem darauf, einen Cronjob nicht häufiger auszuführen als erforderlich. Wenn eine Aufgabe länger läuft als ihr Ausführungsintervall, können mehrere Prozesse gleichzeitig entstehen und unnötig Hosting-Ressourcen beanspruchen.
Bei WordPress solltest du zusätzlich zwischen dem WordPress-eigenen WP-Cron und einem echten Server-Cronjob unterscheiden. Wenn WP-Cron deaktiviert wird, muss ein funktionierender alternativer Ausführungsmechanismus vorhanden sein.
La regola più importante è: Zeitplan, Befehl, Dateipfad und Ausführungsumgebung getrennt prüfen. Ein korrekt gespeicherter Cronjob bedeutet noch nicht automatisch, dass das aufgerufene Skript erfolgreich ausgeführt wird.