[Risolto] Creare cron
[Risolto] Creare cron
Salve a tutti, ho bisogno di creare un cron ma non so come fare, in pratica ho bisogno che uno script in php venga eseguito ongi giorno ogni due ore.
Come posso fare, mi potete aiutare?
Grazie
Come posso fare, mi potete aiutare?
Grazie
Ultima modifica di viro il domenica 9 gennaio 2011, 23:42, modificato 1 volta in totale.
Re: Creare cron
man crontab <-- per una panoramica di cron
man -e 5 crontab <-- per approfondimenti sulla sintassi delle righe di cron

man -e 5 crontab <-- per approfondimenti sulla sintassi delle righe di cron
Non sono chi dico di essere
|| Problema risolto?Metti [RISOLTO] nel titolo 
Script per Firewall Iptables
Guida Php ufficiale (in inglese)
Script per Firewall Iptables
Guida Php ufficiale (in inglese)
Re: Creare cron
Grazie ho letto un po, ma senza qualche esempio spiegato sopratutto in italiano non riesco a venirne a capo.
Grazie
Grazie
Re: Creare cron
Salve, ho trovato una guida proprio su ubuntu molto utile, ora ho capito la sintassi, ma non ho capito come fare eseguire lo script ogni due ore, nel senso ho capito che se dopo il comando crontab -e inserisco questo:
5 3 * * * /usr/bin/file.php
ad esempio esegue lo script tutti i giorni alle 03:05, ma come faccio a fargli capire di eseguirlo ogni due ore?
Mica devo creare un cron per ogni due ore, nel senso creo più di un crontab:
5 3 * * * /usr/bin/apt-get update
5 5 * * * /usr/bin/apt-get update
5 7 * * * /usr/bin/apt-get update
Grazie
5 3 * * * /usr/bin/file.php
ad esempio esegue lo script tutti i giorni alle 03:05, ma come faccio a fargli capire di eseguirlo ogni due ore?
Mica devo creare un cron per ogni due ore, nel senso creo più di un crontab:
5 3 * * * /usr/bin/apt-get update
5 5 * * * /usr/bin/apt-get update
5 7 * * * /usr/bin/apt-get update
Grazie
Re: Creare cron
azz...è dura imparare a usare linux senza conoscere l'inglese...
quindi la riga sarà
(minuti ore giorno_del_mese mese numero_giorno_settimana)
0 */2 * * * /path/to/script.php
ovvero al minuto 0, ogni due ore, tutti i giorni del mese, tutti i mesi, tutti i giorni della settimana (da Lun a Dom)
Codice: Seleziona tutto
Step values can be used in conjunction with ranges. Following a range with ``/<number>'' specifies skips of the number's value through the range. For example,
``0-23/2'' can be used in the hours field to specify command execution every other hour (the alternative in the V7 standard is ``0,2,4,6,8,10,12,14,16,18,20,22'').
[b]Steps are also permitted after an asterisk, so if you want to say ``every two hours'', just use ``*/2''.[/b]
(minuti ore giorno_del_mese mese numero_giorno_settimana)
0 */2 * * * /path/to/script.php
ovvero al minuto 0, ogni due ore, tutti i giorni del mese, tutti i mesi, tutti i giorni della settimana (da Lun a Dom)
Non sono chi dico di essere
|| Problema risolto?Metti [RISOLTO] nel titolo 
Script per Firewall Iptables
Guida Php ufficiale (in inglese)
Script per Firewall Iptables
Guida Php ufficiale (in inglese)
Re: Creare cron
Grazie ora provo e domani dopo il controllo del cron metto risolto.
Oppure c'è un modo per creare un file di log ad esempio per visionare il corretto funzionamento del cron?
Oppure c'è un modo per creare un file di log ad esempio per visionare il corretto funzionamento del cron?
- Stealth
- Tenace Tecnocrate

- Messaggi: 17366
- Iscrizione: martedì 31 gennaio 2006, 22:55
- Desktop: Gnome
- Distribuzione: Ubuntu 22.04 LTS
Re: Creare cron
Controlla anche di lasciare vuota l'opzione mailto......che ogni 2 ore per tutta la vita mi sembra un po' troppo 
ciao
ciao
Re: Creare cron
Scusa quale opzione mailto :-[
Re: Creare cron
In /var/log c'è il file "cron.log" per un'esame spot, altrimenti puoi redirigere l'ouput a un file...viro ha scritto: Grazie ora provo e domani dopo il controllo del cron metto risolto.
Oppure c'è un modo per creare un file di log ad esempio per visionare il corretto funzionamento del cron?
0 */2 * * * /path/to/script.php >> /path/to/choosen/logfile.log 2>&1
(il file /path/to/choosen/logfile.log deve esistere e avere i permessi giusti)
mailto è una variabile che può essere scritta nel file crontab
Codice: Seleziona tutto
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=paul
# m h dom mon dow user command
42 6 * * * root run-parts --report /etc/cron.daily
Non sono chi dico di essere
|| Problema risolto?Metti [RISOLTO] nel titolo 
Script per Firewall Iptables
Guida Php ufficiale (in inglese)
Script per Firewall Iptables
Guida Php ufficiale (in inglese)
- Stealth
- Tenace Tecnocrate

- Messaggi: 17366
- Iscrizione: martedì 31 gennaio 2006, 22:55
- Desktop: Gnome
- Distribuzione: Ubuntu 22.04 LTS
Re: Creare cron
Cron avvisa quando compie un'azione, mandando una mail. Ma nel tuo caso sono un po' troppo frequenti e rischiano di spammarti la casella di posta.viro ha scritto: Scusa quale opzione mailto :-[
Se quel cron fosse il mio io aprirei il file con
Codice: Seleziona tutto
crontab -eCodice: Seleziona tutto
MAILTO=""ciao
edit: ops, preceduto. segui i consigli di ptah che ne sa sicuramente più di me
Re: Creare cron
(b2b)Stealth ha scritto: edit: ops, preceduto. segui i consigli di ptah che ne sa sicuramente più di me![]()
Non sono chi dico di essere
|| Problema risolto?Metti [RISOLTO] nel titolo 
Script per Firewall Iptables
Guida Php ufficiale (in inglese)
Script per Firewall Iptables
Guida Php ufficiale (in inglese)
Re: Creare cron
Grazie, ad entrambi per la disponibilità, comunque ho avviato il cron per l'esecuzione del file ogni cinque minuti per provare inserendo anche il percorso per il file di log, ora vedo se viene eseguito e vi faccio sapere.
Grazie ancora
Grazie ancora
Re: Creare cron
Ho aspettato per dieci minuti, ma lo script non viene eseguito, e neppure il file di logo mi da alcun errore, ho impostato il file di logo con gli opportuni permessi quali 777, ma rimane comunque vuoto, nessun errore.
Perchè non viene eseguito?
Grazie
Perchè non viene eseguito?
Grazie
Re: Creare cron
sudo ps -ef | grep -i cron
sudo tail -20 /var/log/cron.log
e posta il risultato dei due comandi
sudo tail -20 /var/log/cron.log
e posta il risultato dei due comandi
Non sono chi dico di essere
|| Problema risolto?Metti [RISOLTO] nel titolo 
Script per Firewall Iptables
Guida Php ufficiale (in inglese)
Script per Firewall Iptables
Guida Php ufficiale (in inglese)
Re: Creare cron
Questo è il risultato del primo comando:
root 1907 1 0 2010 ? 00:00:01 cron
root 2511 2441 0 00:09 pts/1 00:00:00 crontab -e
root 2512 2511 0 00:09 pts/1 00:00:00 /bin/sh -c /usr/bin/sensible-editor /tmp/crontab.M5uGs1/crontab
root 2513 2512 0 00:09 pts/1 00:00:00 /bin/sh /usr/bin/sensible-editor /tmp/crontab.M5uGs1/crontab
root 8098 2441 0 00:23 pts/1 00:00:00 crontab -e
root 8099 8098 0 00:23 pts/1 00:00:00 /bin/sh -c /usr/bin/sensible-editor /tmp/crontab.Zb0w0R/crontab
root 8100 8099 0 00:23 pts/1 00:00:00 /bin/sh /usr/bin/sensible-editor /tmp/crontab.Zb0w0R/crontab
root 8108 8100 0 00:23 pts/1 00:00:00 editor /tmp/crontab.Zb0w0R/crontab
root 8109 2441 0 00:23 pts/1 00:00:00 crontab -e
root 8110 8109 0 00:23 pts/1 00:00:00 /bin/sh -c /usr/bin/sensible-editor /tmp/crontab.hlitwL/crontab
root 8111 8110 0 00:23 pts/1 00:00:00 /bin/sh /usr/bin/sensible-editor /tmp/crontab.hlitwL/crontab
root 8119 8111 0 00:23 pts/1 00:00:00 editor /tmp/crontab.hlitwL/crontab
root 8173 2441 0 00:34 pts/1 00:00:00 crontab -e
root 8174 8173 0 00:34 pts/1 00:00:00 /bin/sh -c /usr/bin/sensible-editor /tmp/crontab.PhVcl6/crontab
root 8175 8174 0 00:34 pts/1 00:00:00 /bin/sh /usr/bin/sensible-editor /tmp/crontab.PhVcl6/crontab
root 8183 8175 0 00:34 pts/1 00:00:00 editor /tmp/crontab.PhVcl6/crontab
root 8566 2441 0 01:33 pts/1 00:00:00 grep --color=auto -i cron
Mentre questo è il risultato del secondo comando:
tail: cannot open `/var/log/cron.log' for reading: No such file or directory
root 1907 1 0 2010 ? 00:00:01 cron
root 2511 2441 0 00:09 pts/1 00:00:00 crontab -e
root 2512 2511 0 00:09 pts/1 00:00:00 /bin/sh -c /usr/bin/sensible-editor /tmp/crontab.M5uGs1/crontab
root 2513 2512 0 00:09 pts/1 00:00:00 /bin/sh /usr/bin/sensible-editor /tmp/crontab.M5uGs1/crontab
root 8098 2441 0 00:23 pts/1 00:00:00 crontab -e
root 8099 8098 0 00:23 pts/1 00:00:00 /bin/sh -c /usr/bin/sensible-editor /tmp/crontab.Zb0w0R/crontab
root 8100 8099 0 00:23 pts/1 00:00:00 /bin/sh /usr/bin/sensible-editor /tmp/crontab.Zb0w0R/crontab
root 8108 8100 0 00:23 pts/1 00:00:00 editor /tmp/crontab.Zb0w0R/crontab
root 8109 2441 0 00:23 pts/1 00:00:00 crontab -e
root 8110 8109 0 00:23 pts/1 00:00:00 /bin/sh -c /usr/bin/sensible-editor /tmp/crontab.hlitwL/crontab
root 8111 8110 0 00:23 pts/1 00:00:00 /bin/sh /usr/bin/sensible-editor /tmp/crontab.hlitwL/crontab
root 8119 8111 0 00:23 pts/1 00:00:00 editor /tmp/crontab.hlitwL/crontab
root 8173 2441 0 00:34 pts/1 00:00:00 crontab -e
root 8174 8173 0 00:34 pts/1 00:00:00 /bin/sh -c /usr/bin/sensible-editor /tmp/crontab.PhVcl6/crontab
root 8175 8174 0 00:34 pts/1 00:00:00 /bin/sh /usr/bin/sensible-editor /tmp/crontab.PhVcl6/crontab
root 8183 8175 0 00:34 pts/1 00:00:00 editor /tmp/crontab.PhVcl6/crontab
root 8566 2441 0 01:33 pts/1 00:00:00 grep --color=auto -i cron
Mentre questo è il risultato del secondo comando:
tail: cannot open `/var/log/cron.log' for reading: No such file or directory
Re: Creare cron
Allora...intanto hai un po' di sessioni di editing cron aperte...potrebbe crearti casino!
Non è abilitato il log dei cron, e questo può essere un problema, ma fanulla
Intanto chiudi tutte le sessioni di editing di cron (per evrificare se ne hai ancora rifai il comando sudo ps -ef | grep -i cron. Se non ci sono righe tipo
/bin/sh -c /usr/bin/sensible-editor /tmp/crontab.PhVcl6/crontab
allora dovresti essere a posto
Non è abilitato il log dei cron, e questo può essere un problema, ma fanulla
Intanto chiudi tutte le sessioni di editing di cron (per evrificare se ne hai ancora rifai il comando sudo ps -ef | grep -i cron. Se non ci sono righe tipo
/bin/sh -c /usr/bin/sensible-editor /tmp/crontab.PhVcl6/crontab
allora dovresti essere a posto
Non sono chi dico di essere
|| Problema risolto?Metti [RISOLTO] nel titolo 
Script per Firewall Iptables
Guida Php ufficiale (in inglese)
Script per Firewall Iptables
Guida Php ufficiale (in inglese)
Re: Creare cron
Salve, ancora qui, ho impostato il cron, e il file per il log, nel file del log mi trovo questo errore e lo script non viene eseguito, ecco l'errore:
/var/www/vhosts/queen/miosito.it/httpdocs/miosito/micro.php: 1: cannot open ?php
: No such file
/var/www/vhosts/queen/miosito.it/httpdocs/miosito/micro.php: 2: Syntax error: word unexpected (expecting ")")
/var/www/vhosts/queen/miosito.it/httpdocs/miosito/micro.php: 1: cannot open ?php
: No such file
/var/www/vhosts/queen/miosito.it/httpdocs/miosito/micro.php: 2: Syntax error: word unexpected (expecting ")")
Nel mio file php le prime due righe sono le seguenti:
<?php
require_once ('configure.php');
Perchè mi da questo errore?
Grazie
/var/www/vhosts/queen/miosito.it/httpdocs/miosito/micro.php: 1: cannot open ?php
: No such file
/var/www/vhosts/queen/miosito.it/httpdocs/miosito/micro.php: 2: Syntax error: word unexpected (expecting ")")
/var/www/vhosts/queen/miosito.it/httpdocs/miosito/micro.php: 1: cannot open ?php
: No such file
/var/www/vhosts/queen/miosito.it/httpdocs/miosito/micro.php: 2: Syntax error: word unexpected (expecting ")")
Nel mio file php le prime due righe sono le seguenti:
<?php
require_once ('configure.php');
Perchè mi da questo errore?
Grazie
Re: Creare cron
Alt...allora...stai chiamando uno script Php, quindi ti conviene richiamarlo direttamente "dal browser", per così dire, ovvero ti conviene qualcosa del genere
altrimenti devi chiamare lo script con php e aggiustare tutti gli include/require del file in modo che siano assoluti (se lo script NON viene usato anche nel sito vero e proprio) 
Codice: Seleziona tutto
0 */2 * * * /usr/bin/wget --tries=1 --timeout=10 -q -o /dev/null -O /dev/null http://miosito/micro.php
Non sono chi dico di essere
|| Problema risolto?Metti [RISOLTO] nel titolo 
Script per Firewall Iptables
Guida Php ufficiale (in inglese)
Script per Firewall Iptables
Guida Php ufficiale (in inglese)
Re: Creare cron
Grazie, e per scrivere il risultato nel file di log con questo comando come faccio?
Posso usare alla fine del comando che hai scritto questo come mi hai detto ieri?
>> /path/to/choosen/logfile.log 2>&1
dove poi ci sarà la mia path del sito
Posso usare alla fine del comando che hai scritto questo come mi hai detto ieri?
>> /path/to/choosen/logfile.log 2>&1
dove poi ci sarà la mia path del sito
Ultima modifica di viro il domenica 9 gennaio 2011, 23:24, modificato 1 volta in totale.
Re: Creare cron
No.
In questo caso devi usare le funzioni di wget.
-o file indica il file di log
-O file indica dove verrà scritto il file ricevuto
quindi nel tuo caso dovresti far diventare
-o /path/to/choosen/logfile.log
mentre il -O lascialo a /dev/null perchè non credo ti interessi l'output del file php (cioè quello che visualizzeresti se chiamassi il file col browser). -O è una o maiuscola, -o una o minuscola, nessuno dei due è uno zero
In questo caso devi usare le funzioni di wget.
-o file indica il file di log
-O file indica dove verrà scritto il file ricevuto
quindi nel tuo caso dovresti far diventare
-o /path/to/choosen/logfile.log
mentre il -O lascialo a /dev/null perchè non credo ti interessi l'output del file php (cioè quello che visualizzeresti se chiamassi il file col browser). -O è una o maiuscola, -o una o minuscola, nessuno dei due è uno zero
Non sono chi dico di essere
|| Problema risolto?Metti [RISOLTO] nel titolo 
Script per Firewall Iptables
Guida Php ufficiale (in inglese)
Script per Firewall Iptables
Guida Php ufficiale (in inglese)
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 2 ospiti
