Newsgroup: it.comp.os.linux.iniziare
Titolo: aiuto utilizzo cron

.. E non dovrebbe essere difficile, con miliardi e miliardi di how to su 
google, ma ho questo banalissimo problema...
Ho impostato ddclient.conf, secondo me, affinché si aggiorni ogni 40 
minuti con questa riga
16,56,36 * * * *   root   /usr/sbin/ddclient -daemon=0 -syslog -quiet retry
Risultato.. mi ritrovo le email di notifica ogni 20 minuti... Perché ?


16 + 20 = 36
36 + 20 = 56
piu' matematico di cosi' ;-))
forse volevi qualcosa tipo
*/40 * * * *   root   /usr/sbin/ddclient -daemon=0 -syslog -quiet retry
man crontab ...
ciao
-- 
Never try to teach a pig to sing.
It wastes your time and annoys the pig.

tacci_tua wrote:

*/40
come l'hai scritto tu aziona il comando al 16esimo, 36esimo e 56esimo minuto
di ogni ora, ovvero ogni 20 minuti

 Risultato.. mi ritrovo le email di notifica ogni 20 minuti... Perché ?
Perche' non leggi le istruzioni ... :-)
man crontab :
[...]
The  command  portion  of the line is run with /bin/sh -c <command> and may
therefore contain any valid bourne shell command.  A common practice is  to
run  your  command  with exec to keep the process table uncluttered.  It is
also common to redirect output to a log file.  If you do not, and the  com-
mand generates output on stdout or stderr, the result will be mailed to the
user in question.  
-- 
Ciao.
Alessandro 
"Ubuntu" - an African word, meaning "Slackware is too hard for me".

 Perche' non leggi le istruzioni ... :-)
.. no.. te lo dico io... Perché non so leggerle le istruzioni.. :-)
.. Grazie a tutti e scusate per la sminkiata.. Birra per tutti... :-)

 man crontab ...
Una regola che non ammette eccezioni e` "Leggere il fottuto
manuale prima di dire 'leggi il fottuto manuale!'"
E come eccezione a questa regola e` che presumo tu stai 
facendo riferimento  alla versione di cron di Paul Vixie 
(che AFAIK e` installata su tutte le distribuzioni Linux).
Il punto e` che quella riga con il cron di Paul Vixie (che 
AFAIK e` installata su tutte le distribuzioni Linux) esegue 
il comando ogni ora dopo quaranta minuti dallo scoccare 
dell'ora.
Cioe`, se non hai capito, alle 6:40, alle 7:40, 8:40, alle 
9:40, alle 10:40,...
Post scriptum: 
RTFM!

 RTFM!
no comment ...


 prova 
Un'altra cosa da tener presente e` che si e` giudicati da 
cio` che si posta; questo vale per me ed anche per te.
Se sei convinto che quanto postato provi qualcosa sul 
funzionamento di cron va bene, contento tu, contenti tutti.

 funzionamento di cron va bene, contento tu, contenti tutti.
grazie ... ne avevo proprio bisogno !!


 RTFM!
TFM che dovremmo leggere tutti, visto che abbiamo sbagliato tutti, tu
compreso. quello che dici tu si verifica con questa notazione:
40 * * * * comando
come abbiamo erroneamente suggerito io e antonio, invece, il comando viene
eseguito allo scoccare dell'ora e poi al 40esimo minuto dell'ora.
per eseguirlo ogni 40 minuti bisogna usare 2 righe:
0,40 1-23/2 * * * comando
20 0-23/2 * * * comando

 20 0-23/2 * * * comando
saro' "lento" io ... sara' che ho Dillon's Cron ... ma perche' dici che
non funziona ?
vabbe' ... comunque penso che possiamo chiudere qui la discussione, visto
che il problema di partenza sembra sia stato risolto ...
ciao ..


 20 0-23/2 * * * comando
Od in tanti altri modi equivalenti, dipende molto dalla 
versione di cron poiche` le estensioni al formato delle 
crontab sono molto numerose.
Dato che la soluzione e` stato trovata aggiungo solo che 
bisogna stare molto attenti perche' e` facilissimo 
sbagliare, come appena dimostrato

 ciao ..
ah, ok.

 crontab sono molto numerose.
Cioč... con questo settaggio che ho inserito ieri sera;
*/40 * * * * root /usr/sbin/ddclient -daemon=0 -syslog -quiet retry
deduco che il comando viene eseguito al 40esimo minuto dell'ora e all'ora
successiva.. Cioč.. ogni 40 e poi 20 minuti.. Giusto ?
P.s. .. Mi sa che poi tanto stupido sto rhread che ho aperto non lo era...
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 */40 * * * * root /usr/sbin/ddclient -daemon=0 -syslog -quiet retry
allora, per concludere ... l'equivoco e' nato dalle diverse versioni di
cron che noi "contendenti" abbiamo installato sui nostri linux ...
prova a controllare che versione di cron hai e prova a vedere nella pagina
man di crontab se c'e' qualche esempio ... nella mia c'e', ad esempio ...
# MIN HOUR DAY MONTH DAYOFWEEK   COMMAND
# at 6:10 a.m. every day
10 6 * * * date
# every two hours at the top of the hour
0 */2 * * * date
# every two hours from 11p.m. to 7a.m., and at 8a.m.
0 23-7/2,8 * * * date
# at 11:00 a.m. on the 4th and on every mon, tue, wed
0 11 4 * mon-wed date
# 4:00 a.m. on january 1st
0 4 1 jan * date
# once an hour, all output appended to log file
0 4 1 jan * date >>/var/log/messages 2>&1
ciao ...


 0 */2 * * * date
man 5 crontab di vixie cron non è molto diverso.
"Steps are also  permitted  after an asterisk, so if you want to say "every
two hours", just use "*/2"."
ma solo perché 24 è divisibile per 2.
prova ad eseguire un processo ogni 7 ore. se scrivi:
0 */7 * * * comando
funziona?
io dico che viene eseguito alle 0:00, 7:00, 14:00 e 21:00
prova ad eseguire un processo ogni 13 minuti:
*/13 * * * * comando
viene eseguito ogni ora alle x:00, x:13, x:26, x:39, x:52

 viene eseguito ogni ora alle x:00, x:13, x:26, x:39, x:52
cioe' ogni 13 minuti ...
allora perche' quando metto nel mio crontab una riga del tipo:
*/7 * * * * logger "Prova cron `date`
nei log mi ritrovo
May 12 15:28:01 antonio logger: Prova cron Mon May 12 15:28:01 CEST 2008
May 12 15:35:01 antonio logger: Prova cron Mon May 12 15:35:01 CEST 2008
???????
ok ... stanotte ho dormito poco e male ... ma non seguo piu' il
discorso ...
batto ordinatamente in ritirata con i miei crontab immutati 
;-)))


 man di crontab se c'e' qualche esempio ... nella mia c'e', ad esempio ...
E' la prima cosa che ho fatto ieri sera dopo aver letto il post di
mallin.shetland e come ha sospettato lui la versione cron è di Paul
Vixie.. Ho anche fatto man crontab e man cron ma in ambedue i casi non
riporta nessun esempio (opensuse 10.3 se può servire a qualcosa), tanto
che ho googleggiato per trovare degli esempi validi.. Cmq stasera
controllerò gli alert e verificherò i tempi di aggiornamento...


 
man 5 crontab

 ???????
vai avanti nell'esperimento per più di un'ora.

 vai avanti nell'esperimento per più di un'ora.
ok ... grazie per il chiarimento ...
comunque ho rivisto i miei crontab ... tutti ad una data ora ... a volte di un
intervallo di giorni ... MAI ogni tot ...
non si finisce mai di imparare ... mi scuso per la mia "supponenza" ... anche se
c'e' modo e modo di rispondere ...
ciao ... sei stato gentilissimo ...


 anche se c'e' modo e modo di rispondere ...
sono d'accordo, non si finisce mai di imparare, tutti quanti.
quindi grazie anche a tacci_tua per la domanda.

 ...grazie anche a tacci_tua per la domanda.
Piů che altro tacci_mia.. :-) Se avessi usato ddclient in modo daemon,
bastava che mettevo il tempo di ritardo a 2400 secondi e stavo apposto,
perň non avrei sollevato il problema... Da qui ho imparato che non bisogna
mai vergognarsi della propria ignoranza.. :-)
Un saluto a tutti quelli che mi hanno aiutato.. ;-)
