Che cos'è un lavoro cron?

Un cron job è un'attività o uno script pianificato che viene eseguito automaticamente a determinati intervalli.Cosa può fare un lavoro cron?Un lavoro cron può eseguire comandi, script o programmi in base a una pianificazione regolare.Questo può essere utile per attività come mantenere il computer in esecuzione senza problemi o eseguire attività amministrative.Come faccio a impostare un lavoro cron?Esistono diversi modi per impostare un cron job su Linux.Puoi utilizzare lo strumento Cronjob Manager, modificare il file di configurazione della shell o utilizzare la riga di comando.Quale metodo dovrei usare?Lo strumento Cronjob Manager è più facile da usare e offre maggiore flessibilità rispetto alla modifica del file di configurazione della shell.Per impostare un nuovo Cronjob utilizzando Cronjob Manager: 1) Aprire Cron Job Manager facendo clic sull'icona "Cron Jobs" nella barra delle applicazioni (o digitando "crontab -e"). 2) In Cron Job Manager, fare clic sul pulsante "Nuovo" per creare un nuovo CronJob. 3) Nella finestra di dialogo Nuovo CronJob, inserisci un nome per il tuo nuovo CronJob e fai clic su OK. 4) Nella finestra di CronJob appena creata, vedrai due schede: Generale e Comandi. 5) Nella scheda Generale, vedrai informazioni sul tuo stato attuale (in esecuzione o non in esecuzione), nonché opzioni per impostare limiti di tempo e interrompere/avviare manualmente i tuoi lavori. 6) Nella scheda Comandi, vedrai tutti i comandi attualmente pianificati per l'esecuzione in questo particolare CronJob. 7) Per aggiungere un comando aggiuntivo a questa lista è sufficiente cliccarci sopra ed inserire i parametri richiesti negli appositi campi della finestra dei comandi che si apre (vedi sotto). 8) Per eliminare tutti i comandi esistenti da questo elenco, selezionali e premi il tasto Canc (oppure seleziona Annulla se vuoi salvare le modifiche ma non vuoi che vengano aggiunti nuovi comandi). 9) Fare clic su OK per chiudere entrambe le finestre e tornare alla schermata principale di Crontab dove il lavoro appena creato dovrebbe ora essere elencato in "Lavori attivi". 10) Per avviare/arrestare/riavviare questo particolare lavoro immediatamente senza attendere la scadenza del periodo di tempo programmato: 1) Selezionarlo dall'elenco Lavori attivi e premere il pulsante Avvia/Interrompi (oppure fare clic con il pulsante destro del mouse su di esso e scegliere Avvia/Arresta dal contesto menù). 2) Se si desidera che questo particolare lavoro continui a essere eseguito anche se non è più attivo (ad esempio quando il sistema si interrompe di notte): 1a) Selezionarlo dall'elenco Lavori attivi e premere il pulsante Aggiungi regola... -> a discesa Modifica tipo di pianificazione -menu in basso -> opzione Verifica Esegui ogni giorno -> Premi il pulsante Applica -> Chiudi la finestra delle regole -> Salva le modifiche premendo il pulsante OK b) Fare nuovamente clic con il tasto destro del mouse sulla voce selezionata nell'elenco dei lavori attivi -> Aggiungi regola... c) Menu a discesa Cambia tipo di pianificazione -> Seleziona l'opzione Esegui di notte d ) Premi il pulsante Applica e ) Chiudi la finestra delle regole f ) Salva le modifiche premendo il pulsante OK Come faccio a interrompere i miei lavori cron in esecuzione?Per interrompere tutti i lavori di cron attualmente in esecuzione: 1a .Seleziona Tutti gli elementi nella sezione Esecuzione di Cron della schermata principale di Crontab-> Fare clic con il pulsante destro del mouse-> Interrompi

1b .Seleziona il lavoro corrente dalla sezione Cron in esecuzione della schermata principale di Crontab-> Fare clic con il pulsante destro del mouse-> Interrompi tutti i processi correlati

Come faccio a riavviare i miei processi cron interrotti attualmente?Per riavviare tutti i lavori di cron attualmente interrotti: 1a .Seleziona Tutti gli elementi nella sezione Crontab arrestati della schermata principale di Crontab-> Fare clic con il pulsante destro del mouse-> Riavvia i processi selezionati

1b .Seleziona il lavoro corrente dalla sezione Crons interrotta della schermata principale di Crontab-> Fare clic con il pulsante destro del mouse-> Riavvia i processi selezionati Come posso modificare il periodo di tempo programmato corrente per i miei lavori cron in esecuzione?Per modificare il periodo di tempo pianificato corrente per uno o più lavori cron attualmente in esecuzione:1a .

Qual è lo scopo di un lavoro cron?

Un cron job è un'attività o uno script pianificato che viene eseguito automaticamente a determinati intervalli.I lavori Cron possono essere utilizzati per automatizzare attività di routine, come l'aggiornamento di un database online, l'esecuzione di un programma in base a una pianificazione o l'invio di notifiche e-mail.I lavori Cron possono anche essere utilizzati per eseguire azioni speciali quando si verificano eventi specifici, come l'avvio di un sito Web quando qualcuno accede al proprio account.

Come si imposta un lavoro cron su Linux?

Esistono diversi modi per impostare un cron job su Linux.Puoi usare il comando crontab per gestire i tuoi lavori, oppure puoi usare Cron Job Manager.Puoi anche utilizzare lo strumento di pianificazione Linux per pianificare i tuoi lavori.Infine, puoi utilizzare lo strumento della riga di comando per eseguire i tuoi lavori.

Per gestire i tuoi lavori con il comando crontab, apri prima una finestra di terminale e digita:

crontab -e

Questo aprirà il file crontab nella tua directory corrente.La prima riga di questo file è chiamata "default" e imposta alcune opzioni di base per l'utilizzo del comando crontab.Per aggiungere un nuovo lavoro, inserisci:

crontab -e >> mionuovolavoro.cron

Questo creerà una nuova voce nel file mynewjob.cron che puoi modificare secondo necessità.Per eseguire un lavoro, inserisci semplicemente:

crontab mionuovolavoro.cron

Puoi anche specificare in quale giorno della settimana deve essere eseguito il tuo lavoro immettendo un numero facoltativo dopo "0" (ad esempio, "0 0 * *"). È inoltre possibile specificare a quale ora del giorno deve essere eseguito il lavoro immettendo un numero facoltativo dopo "*" (ad esempio, "15 10 * *").

Se desideri rimuovere un lavoro dall'elenco delle attività pianificate, inserisci semplicemente:

crontab -r mionuovolavoro.cron

Puoi anche eliminare singole voci dall'elenco delle attività pianificate immettendo: ctrl-D (o CMD-D su Mac) seguito dal nome della voce che desideri eliminare.Se vuoi rimuovere solo un'attività specifica dall'elenco ma non vuoi eliminare anche tutte le voci correlate, puoi inserire: ctrl-X seguito dal nome della voce che desideri eliminare senza eliminare anche le voci correlate .

Infine, se hai solo bisogno di visualizzare le informazioni su un'attività particolare che è attualmente pianificata ma non ancora in esecuzione, inserisci: ctrl-P seguito dal nome dell'attività su cui desideri informazioni.

Con quale frequenza viene eseguito un processo cron?

Un cron job è un'attività pianificata che viene eseguita automaticamente a determinati intervalli.È possibile impostare un processo cron da eseguire una volta al giorno, una volta alla settimana o una volta al mese.Puoi anche impostare un processo cron da eseguire solo se vengono soddisfatte determinate condizioni.Ad esempio, potresti voler eseguire il tuo lavoro cron solo se il computer è alimentato da corrente alternata.

È possibile impostare un processo cron per l'esecuzione più di una volta all'ora?

Sì, un processo cron può essere impostato per essere eseguito più di una volta all'ora.Per fare ciò, aggiungi la seguente riga al tuo file crontab:

*/1 * * * * /usr/bin/php -f /var/www/html/cronjob.php

Ciò farà sì che lo script php situato in /var/www/html/cronjob.php venga eseguito ogni ora.

Cosa succede se non specifichi un intervallo per il tuo cronjob?

Se non specifichi un intervallo per il tuo cronjob, verrà eseguito ogni minuto.Se vuoi che venga eseguito più spesso, puoi aggiungere un'espressione temporale come "*/5" che eseguirebbe il lavoro ogni cinque minuti.Se vuoi che venga eseguito meno spesso, puoi aggiungere un numero come "0 */5" che eseguirebbe il lavoro una volta ogni cinque minuti.

L'ora di sistema influisce sull'esecuzione del mio lavoro cron?

Non esiste una risposta definitiva a questa domanda.A seconda della configurazione del tuo sistema, l'ora del giorno potrebbe influenzare l'esecuzione del tuo lavoro cron.Ad esempio, se l'orologio del tuo sistema è impostato su UTC, il tuo processo cron verrà eseguito in qualsiasi fuso orario in cui si trova il tuo computer.Se l'orologio del tuo sistema è impostato sull'ora locale, il tuo lavoro cron verrà eseguito in base al fuso orario locale.

Per determinare se l'ora di sistema influisce o meno sull'esecuzione di un lavoro cron, dovrai guardare la configurazione della tua macchina.Alcuni modi comuni per farlo sono usando il comando date o visualizzando il contenuto di /etc/rc.local . È possibile accedere a entrambi questi metodi da una finestra di terminale digitando sudo .

Se si desidera pianificare un'attività che dovrebbe essere sempre eseguita indipendentemente dall'ora di sistema corrente, è possibile utilizzare anacron . anacron è un programma che monitora le modifiche nei file e aggiorna automaticamente determinate configurazioni in base a tali modifiche.Per ulteriori informazioni su anacron , vedere

.

Voglio che il mio script venga eseguito ogni minuto, qual è l'intervallo corretto?

Non esiste una risposta valida per tutti a questa domanda, poiché l'intervallo di esecuzione di un processo cron varia a seconda delle esigenze specifiche dello script.Tuttavia, di seguito sono disponibili alcuni suggerimenti sull'impostazione di un intervallo appropriato per un processo cron.

Innanzitutto, è importante capire a quale scopo serve lo script e quale tipo di programma deve rispettare.Se lo script deve essere eseguito regolarmente ma ha un impatto relativamente basso (ad esempio, verificando la presenza di nuovi messaggi di posta elettronica ogni cinque minuti), un intervallo di un minuto potrebbe essere sufficiente.D'altra parte, se lo script richiede più tempo per completare la sua attività (ad esempio, l'elaborazione di set di dati di grandi dimensioni), potrebbe essere più appropriato un intervallo più lungo (ad esempio ogni ora).

Un altro fattore da considerare quando si imposta un intervallo per un lavoro cron è la quantità di carico che il sistema può gestire.Se vengono eseguiti troppi lavori contemporaneamente, le prestazioni potrebbero risentirne a causa dell'aumento del sovraccarico di elaborazione.Pertanto, è importante testare intervalli diversi per trovarne uno che funzioni meglio per lo script specifico senza causare troppe interferenze o comportamenti ritardati.

Infine, tieni presente che non tutti i sistemi sono configurati esattamente allo stesso modo; pertanto, alcuni parametri (come un intervallo) potrebbero non funzionare correttamente su una macchina rispetto a un'altra.In questi casi, potrebbe essere necessario provare diversi intervalli fino a trovare qualcosa che funzioni in modo affidabile.

Il mio script non è in esecuzione, cosa potrebbe esserci di sbagliato?

Potrebbero esserci alcune cose che non vanno.Innanzitutto, assicurati che lo script sia eseguibile.Per fare ciò, puoi utilizzare il comando chmod per modificare i permessi del file in modo che sia leggibile dall'account utente del tuo computer (di solito 755 per i file in Linux) e scrivibile dall'account di gruppo del tuo computer (di solito 666 per i file in Linux) . Se non hai accesso al comando chmod, puoi provare a usare sudo per darti il ​​permesso di modificare il file.

Se hai ancora problemi a eseguire lo script, potrebbe esserci qualcosa di sbagliato nella sua configurazione.Puoi verificarlo eseguendo lo script come root: ciò ti consentirà di visualizzare e modificare il suo file di configurazione.Il problema più comune durante l'impostazione degli script è costituito da informazioni sul percorso errate o mancanti; in tal caso, puoi risolverlo aggiungendo percorsi appropriati al file di configurazione del tuo script.

Infine, assicurati che sul tuo computer sia installato tutto il software necessario; senza questi programmi, il tuo script potrebbe non funzionare correttamente.Ad esempio, affinché i lavori Cron possano essere eseguiti su sistemi Linux, Cron deve essere installato e configurato correttamente; senza Cron installato o configurato in modo errato, i tuoi script non verranno eseguiti affatto.

Gli utenti Linux spesso affrontano problemi mentre tentano di impostare i loro lavori cron a causa della mancanza di una conoscenza adeguata dei comandi linux che vengono utilizzati per scopi di gestione dei lavori come chmod ecc., Quindi abbiamo scritto questa guida su come impostare un lavoro cron linux facilmente e rapidamente con aiuto di alcuni comandi di base come chmod ecc. Spero che questa guida ti aiuti!

Per iniziare con la configurazione di un cronjob su un sistema Linux: 1) Apri la finestra del terminale2) Digita il seguente comando3) Inserisci "chmod +x myscript"4) Salva myscript come myscript.sh5) Esegui myscript.sh6) Il tuo lavoro dovrebbe ora essere avviato automaticamente ogni giorno a mezzanotte7) Per interrompere un lavoro in esecuzione: digitare "cronjob -f"8) Per elencare i cronjob attualmente attivi: digitare "cronjob -l"9) Per eliminare il cronjob attivo corrente: digitare "cronjob -d"10) Ricorda sempre che è corretto l'uso dei comandi sopra menzionati è molto importante durante l'impostazione di qualsiasi tipo di attività di scripting della shell sul sistema Linux, quindi si prega di leggere attentamente il tutorial menzionato di seguito prima di avviare qualsiasi attività relativa allo scripting della shell sul sistema Linux: -In primo luogo apri la finestra del terminale-Digita il seguente comando-EnterNow salva il nostroscript comeMyScriptnamePer es:-Salva MyScriptname come test_scriptUna volta salvato con successo chiudi la finestra del terminale Ora apri una nuova finestra del terminale-Digita il seguente comando-Invio Dovresti vedere un output simile aLo screenshot seguente mostra l'output del comando sopramenzionato When executed successfullyabovementionedcommandwill create an executablefile namedtest_scriptinsidecurrentdirectorywhereyourunningitfromnowyoucanstartusingitbyjustexecutingitwithoutany further argumentsLikebelow:(Abovecommandwillruntest_scriptonceinitsinitializationphaseandstopitsrunningimmediatelyaftercompletionofitstask.)Similarlyyoucanexecutemanydifferenttypesofcommandswithsimpleargumentslikestop(),start(),status()etc.(Pleaserememberthattheoutputofthestartingcommandswillbedisplayedinterminalwindowwhiletheoutputofthestoppingcommandswillbedisplayedinnewterminalwindow.

Ricevo un errore dal mio script, come posso scoprire perché?

Ci sono alcuni modi per scoprire perché il tuo script riceve un errore.Un modo è utilizzare il comando "grep" per cercare righe specifiche nello script che causano il problema.Un altro modo è usare il comando "log" per vedere cosa sta succedendo quando viene eseguito lo script.Infine, puoi anche usare il comando "tail -f" per guardare l'output del tuo script mentre viene eseguito, in modo da poter vedere se si verificano errori o comportamenti imprevisti.

Posso avere più di un comando nel mio Cron Job?12Come faccio a eliminare un Cron Job?13 L'output dei miei comandi può essere inviato via e-mail a me?

14Come posso assicurarmi che il mio Cron Job venga eseguito in un determinato momento?15Quali sono alcuni buoni esempi di Cron Job?16

Un cron job è un programma che viene eseguito automaticamente in determinati orari, di solito in base a una pianificazione impostata dall'utente.Puoi usarlo per eseguire attività come controllare la posta elettronica, scaricare file o eseguire programmi.

Per creare un processo cron, apri prima l'interfaccia della riga di comando (CLI) sul tuo computer.Quindi digita il seguente comando: sudo crontab -e Questo aprirà il file CRONTAB nel tuo editor di testo preferito.Nella parte superiore di questo file, vedrai delle righe simili a questa: # Questo file contiene uno o più lavori.Ogni riga specifica un'azione che deve essere eseguita dalla shell quando eseguita in modo asincrono # Il formato è: La prima riga di questo file è denominata "nome lavoro".È ciò che utilizzerai per identificare il tuo lavoro quando lo esegui dalla riga di comando.Poi arrivano i "comandi", che sono semplicemente vecchi comandi che vuoi eseguire come parte del tuo lavoro.Ad esempio, eccone una che stampa tutti i suoi argomenti: echo $* Infine, ci sono due righe che dicono a CRON che tipo di attività è il tuo comando: in questo caso, è un file di script di shell (.sh).Se tutto sembra a posto, salva e chiudi il file CRONTAB con Ctrl+X poi Y e poi Invio. Ora sei pronto per iniziare a usare il tuo nuovo lavoro!Per avviarlo, digita semplicemente sudo ./your_new_job_name dove your_new_job_name è qualsiasi cosa tu abbia chiamato il tuo file CRONTAB quando lo hai creato.Se tutto va bene, il tuo nuovo lavoro dovrebbe iniziare subito a funzionare!

Sì!Finché ogni comando esce correttamente senza errori (cioè non causa alcun danno), puoi inserire tutti i comandi che desideri nel tuo Cron Job!Assicurati solo che escano tutti correttamente prima di uscire da CRONTAB .

Per eliminare un Cron Job attualmente in esecuzione, digita semplicemente sudo rm -f YOURJOBNAME dove YOURJOBNAME è il nome del Cron Job incriminato. Fai attenzione però: se ci sono attività in sospeso associate a YOURJOBNAME , verranno eliminate insieme ad esso!Assicurati che tutto il resto associato a YOURJOBNAME sia stato ripulito correttamente prima di eliminarlo :)

Sì!Per inviare l'output di comandi specifici all'interno di un Cron Job come messaggi di posta elettronica invece di stamparli semplicemente sullo schermo*, includi semplicemente un flag aggiuntivo durante l'esecuzione di quei comandi: echo -n >&2 Dove &2 rappresenta il carattere pipe ( | ). Quindi, ad esempio, se volessimo che l'output del nostro messaggio di posta elettronica andasse a /var/mail/username invece di solo stdout , useremmo qualcosa del genere: echo -n 'La tua attività è stata eseguita correttamente!' >> /var/mail/username Nota * L'output dell'e-mail potrebbe non funzionare correttamente se sul computer è stato installato un software di terze parti che altera il funzionamento dell'input e dell'output standard (come lo schermo). In questi casi, prova a stampare invece di inviare via e-mail l'output da comandi specifici all'interno di un CronJob .

  1. Che cos'è un lavoro cron e come funziona?
  2. Come faccio a creare un lavoro cron?
  3. Posso avere più di un comando nel mio Cron Job?
  4. Come cancello un Cron Job?
  5. L'output dei miei comandi può essere inviato via email a me?