Koozali.org: home of the SME Server
Other Languages => Italiano => Topic started by: Merioz on May 05, 2011, 11:26:12 PM
-
Buona sera a tutti!!!
Domanda: esistono delle guide che mi spiegano come funzionano cron.d e crontab?
Purtroppo ho cercato di mettere a punto lo script per la copia dei files da una directory ad un'altra...ma nelle soluzioni che trovo, ognuno dice la sua...e a me non funziona niente...
Io, nella mia piccola esperienza con Debian, mi sono sempre trovato con gli semplici script fatti da un normale editor e lanciati con il comando "./script.sh... però con cron.d e contrab non capisco dove vanno piazzati i files e che tipologia di sintassi va usata.
Ci sono differenze tra i due?
Grazie in anticipo per la risposta.
-
Ciao
allora:
- in cron.[hourly|daily|weekly|monthly] inserisci dei file (script) eseguibili che verranno eseguiti secondo gli orari stabiliti in /etc/crontab (prime righe, dopo le variabili di ambiente)
- in cron.d inserisci dei file che hanno la stessa sintassi delle righe che trovi in /etc/crontab tipo:
1 * * * * root /path/to/my/script
la sintassi prevede l'utilizzo di / - , [] per la definizione granulare dell'esecuzione
puoi, come detto, ottenere lo stesso risultato inserendo delle righe analoghe in /etc/crontab usando dei fragments posti in /etc/e-smith/templates-custom/etc/crontab
questo ultimo approccio ha il vantaggio che tali impostazioni vengono messe nel backup e quindi ripristinate (sempre che anche gli script siano backuppati.. io di solito li inserisco in una apposita dir in /home/e-smith/files/)
per la sintassi di crontab
man 5 crontab
per il discorso dei fragments/template, cerca nel wiki o dai un'occhiata al manuale dello sviluppatore
se hai dubbi, siamo qui
-
Ti ringrazio Stefano per la velocità della risposta!!!
Una curiosità...per utilizzare dei fragments/template si devono aggiungere dei moduli in Sme ? Perchè oggi pomeriggio, nel tentativo di utilizzare la tua soluzione postata tempo fa per Hylafax...nella mia installazione non trovavo il percorso "/etc/e-smith/templates-custom/etc/crontab"...
Interessante cmq questa secondo approcio...però lo devo studiare bene...
Grazie ancora!!!
-
Biiiiiiiiiiip
...lettura manuale (http://wiki.contribs.org/SME_Server:Documentation:Developers_Manual:Section2#Local_site_overrides:_templates-custom_and_templates-user-custom) non effettuata...
Biiiiiiiiiiiiip
:D
-
Buongiorno a tutti!!!
Questa mattina, ho provato a fare lo script di copia utlizzando i template e vi chiederei una cortesia...di correggermi quanto scriverò!!!
Ho generato il file "copia" all'interno del percorso "/etc/e-smith/templates-custom/etc/crontab/copia", precedentemente creato
Ho editato il file copia, inserendo questa sintassi:
"1 * * * * root /home/e-smith/files/users/prova/copia.sh"
Il file "copia.sh" è lo stesso riportato da Stefano, scritto un pò di tempo fa...
"bin/mv /var/spool/hylafax/recvq/*.tif /home/e-smith/files/shares/fax_ricevuti/files/ chown prova:gruppofax /home/e-smith/files/shares/fax_ricevuti/files/*.tif " (script testato e funzionante)
Ho aggiunto a contrab l'esecuzione del mio nuovo script con questa sintassi:
"/sbin/e-smith/expand-template etc/crontab"
Ho verificato se era stato aggiunto con il comando " more /etc/crontab " e nella lista ho trovato anche quello mio appena caricato
Fin qui tutto ok...però caricando a mano dei file *.tif nella dir "recvq" dopo il fatidico minuto di attesa non è successo nulla....
Ho dimenticato qualche cosa?
Il log di cron non mi riporta nessun tipo di errore...
E' possibile lanciare a mano il cron che ho creato per vedere se mi sposta i file da una dir all'altra?
Grazie a tutti per le risposte che darete!!!
p.s.: Lo so che prima di postare e chiedere aiuto per le banalità sarebbe opportuno leggersi la documentazione...però purtroppo il tempo è sempre tiranno!!! Mi scuso con tutti!!!
-
Ho generato il file "copia" all'interno del percorso "/etc/e-smith/templates-custom/etc/crontab/copia", precedentemente creato
HINT 1: usa sempre nomi che iniziano con xy_nomefile, dove x e y sono numeri.. questo perchè il tuo fragment sia correttamente posizionato (non è questo il caso, visto che "copia" viene dopo i numerici)
Ho editato il file copia, inserendo questa sintassi:
"1 * * * * root /home/e-smith/files/users/prova/copia.sh"
HINT 2: leggere il man di crontab
man 5 crontab
quella riga dice di eseguire il comando al minuto 1 di ogni ora, giorno ecc.., non di eseguirlo OGNI minuto
Il file "copia.sh" è lo stesso riportato da Stefano, scritto un pò di tempo fa...
"bin/mv /var/spool/hylafax/recvq/*.tif /home/e-smith/files/shares/fax_ricevuti/files/ chown prova:gruppofax /home/e-smith/files/shares/fax_ricevuti/files/*.tif " (script testato e funzionante)
HINT 3: quando riporti codice, usa l'apposito tag del forum, altrimenti non si capisce nulla..
Ho aggiunto a contrab l'esecuzione del mio nuovo script con questa sintassi:
"/sbin/e-smith/expand-template etc/crontab"
Ho verificato se era stato aggiunto con il comando " more /etc/crontab " e nella lista ho trovato anche quello mio appena caricato
Fin qui tutto ok...però caricando a mano dei file *.tif nella dir "recvq" dopo il fatidico minuto di attesa non è successo nulla....
Ho dimenticato qualche cosa?
vedi sopra
Il log di cron non mi riporta nessun tipo di errore...
E' possibile lanciare a mano il cron che ho creato per vedere se mi sposta i file da una dir all'altra?
Grazie a tutti per le risposte che darete!!!
nessun errore, il comando è formalmente corretto..
p.s.: Lo so che prima di postare e chiedere aiuto per le banalità sarebbe opportuno leggersi la documentazione...però purtroppo il tempo è sempre tiranno!!! Mi scuso con tutti!!!
mi dispiace, ma certe volte è necessario leggerla.. :)
in questa risposta hai tutti gli elementi :wink: