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

 
  crea uno script bash
 
  #---------------------------------
  #!/bin/bash
  ntpdate 
server.tempo.net
  #---------------------------------
  salvalo e dagli i permessi in esecuzione
  inserisci una riga in crontab digitando "crontab -e"
  da root
  30 21 * * * /path/script 
  questo esegue il comando /path/script alle 21.30 di tutti i
  giorni e di tutti i mesi.
  Per approfondire 'Appunti di Informatica Libera' 
 
  -> 43   Pianificazione dei processi (scheduling)
-- 
Linux Registered User 
*****  249907  *****
http://counter.li.org

 da root
Ma questo livello fai prima a mettere ntpd ;-)

_TheSaint_ nel newsgroup  _it.comp.os.linux.iniziare_ ha scritto :

  Dipende : sulla mia macchina, ho preferito mettere un semplice script
  in /etc/ppp/ip-up.d
  Visto che non ho una connessione permanente, mi  sembrava assurdo avviare 
  un daemon solo per sincronizzare l'orologio.


 
    Usa 'crontab -e' da root , inserisci i comandi e salva.
    Impossibile che non vada ;)

 ntpdate
prova a mettere il path completo del programma.
Fai le modifice da root usando crontab -e
ho questa riga e a mi funziona
/usr/bin/ntpdate 80.83.192.129

 se poi faccio di nuovo crontab -l mi ridice "no crontab for root"
Non saprei bene. Io ho installato dcron (Dillon's Cron) che è una variante
ma da me man crond mi riporta che la directoru dove salva la roba
è specificata dal flag -c
 crond [-l#] [-d[#]] [-f] [-b] [-c directory]
 -c directory - specify directory containing crontab files.
Guarda nel man i parametri poi lancialo da consolle specificando
una directory dove salvare e impostando il loglevel nel
 modo più dettagliato.
Poi prova crontab -e a vedere che effetto fa
Se funziona sti tratta di sistemare il demone che lo avvia
in automatico (magari specifica una directory non esistente),
se non va guarda se il log dice qualcosa di utile.


    Ti dice che non c'e' un crontab e quindi lo crea
    Poi ci metti i comandi  _salvi_ e esci.
 
    esempio:
    20 20 * * 1 /usr/local/bin/backup-cd
    10 20 * * 2 /usr/local/bin/dumpdb
    20 20 * * * /usr/local/bin/filtra
    30 20 * * * /usr/local/bin/logcontrol
 
 
    ecc ecc
    Mi viene il dubbio che non salvi correttamente il file :(
 
   Controlla se hai il daemon cron in funzione:
   # ps aux | grep cron
   root       480  0.0  0.1  1652  680 ?        S    13:15   0:00 /usr/sbin/cron
   root      4384  0.0  0.1  1740  708 tty1     S    13:33   0:00 grep cron
 

 1 * * * * root ntpdate -u 
tempo.ien.it
            ^^^^^
	    per me e' sbagliato
 fai una prova 
 dai il comando # crontab -e ( da root, ovviamente)
 inserisci un riga 
 1 * * * *   /usr/local/bin/script
 Salva ed esci
 Ora crea /usr/local/bin/script che contiene solo : 
 #------------
 #!/bin/bash
 ntpdate 
time.ien.it
 #------------
 dagli i permessi
 chmod a+x /usr/local/bin/script
 Ora che abbiamo eliminato tutte le possibilita' d'errore dovrebbe
 funzionare.
 Curiosita': che distro usi?

 
 
   Non mi spiego neanch'io, sembra un problema di permessi 
   hai i privilegi di root su quella macchina, vi accedi con una password?
   Hai provato a fare un bel 'su -' in console e a rieseguire
   'crontab -l'? Tentare non nuoce. 
 

 Linux server 2.4.8-ac12 #1 Sun Sep 23 20:04:48 CEST 2001 i586 unknown
Anche a me in passato era successo che crontab -e non andasse ad
installare la crontab modificato, quindi bisognava lanciare qualcosa
come:
# vi /tmp/mia-crontab
[scrivo la crontab e salvo]
# crontab /tmp/mia-crontab 
Quest'ultimo e' quello che va ad installare effettivamente la crontab.
Ora controlla la situazione con crontab -l.
-- 
Sono un servitore del Fuoco Segreto, e reggo la fiamma di Anor.
A nulla ti servira' il fuoco oscuro, fiamma di Udun.
Torna nell'Ombra! Non puoi passare.

 per eseguirla, per cui mi continua a dare il cmd not found...
Il command not found secondo me te lo da perche' root non e' un nome
di comando valido.
Se non sbaglio la tua crontab era in questa forma:
* * * * * root ntpdate -u 
tempo.ien.it
Avrei tre appunti su questa crontab:
 
-1- root e' sbagliato, la crontab proprietaria di un utente e' nella
forma "* * * * * comando" senza l'utente che deve eseguirlo; togli
quindi la parola root.
-2- anche se probabilmente non e' un problema dai il nome del path
completo del programma ntpdate (lo ottieni da shell come risposta al
comando `which ntpdate` lanciato da root)
-3- non dovresti usare l'host 
time.ien.it
 per sincronizzarti, qui
sotto la spiegazione che proviane direttamente da qualche parte nel sito 
http://www.eecis.udel.edu/~mills/ntp/
+++
As the load on the hosts supporting NTP primary (stratum 1) time
service is heavy and always increasing, clients should avoid using the
primary servers whenever possible. In most cases the accuracy of the
NTP secondary (stratum 2) servers is only slightly degraded relative
to the primary servers and, as a group, the secondary servers may be
just as reliable. As a general rule, a secondary server should use a
primary server only under the following conditions:
 
   1. The secondary server provides synchronization to a sizable
population of other servers and clients on the order of 100 or more.
   2. The server operates with at least two and preferably three other
secondary servers in a common synchronization subnet designed to
provide reliable service, even if some servers or the lines connecting
them fail.  3. The administration(s) that operates these servers
coordinates other servers within the region, in order to reduce the
resources required outside that region. Note that at least some
interregional resources are required in order to ensure reliable
service.
+++
In pratica non devi usare un server di STRATUM 1 ma uno di STRATUM 2.
Ciao
