Utilizzo del servizio di scheduling Cron: differenze tra le versioni

m
Nessun oggetto della modifica
Riga 6: Riga 6:
== Le basi ==
== Le basi ==
Cron viene lanciato in background all'avvio del sistema dallo script <code>/etc/init.d/cron</code> a cui punta il link presente in <code>/etc/rc2.d/</code>, sicché non c'è bisogno di lanciarlo manualmente. All'avvio Cron legge il file <code>/etc/crontab</code> per le voci (le cosiddette "entry") di sistema, i file contenuti nella directory <code>/etc/cron.d/</code> e i file in <code>/var/spool/cron/crontabs</code> per le voci relative agli utenti che si trovano nel file <code>/etc/passwd</code>. Tutte le voci (crontab) ritrovate sono caricate in memoria.
Cron viene lanciato in background all'avvio del sistema dallo script <code>/etc/init.d/cron</code> a cui punta il link presente in <code>/etc/rc2.d/</code>, sicché non c'è bisogno di lanciarlo manualmente. All'avvio Cron legge il file <code>/etc/crontab</code> per le voci (le cosiddette "entry") di sistema, i file contenuti nella directory <code>/etc/cron.d/</code> e i file in <code>/var/spool/cron/crontabs</code> per le voci relative agli utenti che si trovano nel file <code>/etc/passwd</code>. Tutte le voci (crontab) ritrovate sono caricate in memoria.
Ciascun utente, compreso root, ha il proprio file crontab nella directory <code>/var/spool/cron/crontabs/</code>; ogni crontab può contenere uno o più cronjobs.


Il demone Cron esegue diversi compiti:
Il demone Cron esegue diversi compiti:
* Ogni minuto controlla se vi sono stati cambiamenti nei file contenuti in <code>/etc/cron.d/</code> o nel file<code>/etc/crontab</code>. In questo caso aggiorna il modtime (vale a dire la data e l'ora dell'ultima modifica) per questi crontab e li ricarica in memoria;
* Ogni minuto controlla se vi sono stati cambiamenti nei file contenuti in <code>/etc/cron.d/</code> o nel file<code>/etc/crontab</code>. In questo caso aggiorna il modtime (vale a dire la data e l'ora dell'ultima modifica) per questi crontab e li ricarica in memoria;
* Monitora il comando <code>crontab</code> che si occupa di modificare i lavori di Cron per ciascun utente e contenuti in <code>/var/spool/cron/crontabs</code>. Le modifiche effettuate con il comando <code>crontab</code> comportano, da parte di Cron, l'aggiornamento dei crontab in memoria e del loro modtime;
* Monitora il comando <code>crontab</code> che si occupa, per ciascun utente, di modificare i lavori di Cron contenuti in <code>/var/spool/cron/crontabs</code>. Le modifiche effettuate con il comando <code>crontab</code> comportano, da parte di Cron, l'aggiornamento dei crontab in memoria e del loro modtime;
* Confronta ogni minuto l'ora/data dei crontab in memoria con l'ora/data corrente per stabilire se il comando schedulato debba essere avviato oppure no;
* Confronta ogni minuto l'ora/data dei crontab in memoria con l'ora/data corrente per stabilire se il comando schedulato debba essere avviato oppure no;


6 999

contributi