Problema col crontab

Tutto quello che ha a che fare con GNU/Linux, soprattutto in ambito sistemistico.

Moderatore: Federico.Lagni

Rispondi
Avatar utente
|Dr_AXIA|
Cisco power user
Messaggi: 103
Iscritto il: mar 14 dic , 2004 8:20 pm
Località: Shaolin Temple - AreA 9999 - Bunker 23 - Ophyucus Protectorate - BerenicE AuriferA-BERENIX PANCRION
Contatta:

Salve...perdonate l'ignoranza ma...come fare ad eseguire ad intervalli di tempo regolari uno script su una distribuzione slax???

Attraverso il comando "crontab -e " ho visto che praticamente il file da editare (e che ad ogni avvio viene caricato nel filesystem virtuale) si trova in /boot/rootcopy/var/spool/cron/crontabs/root

ho editato questo file di conseguenza e intanto ho fatto eseguire lo script ogni minuto (per prova) ma nn succede niente...xkè???

posto qui la riga che ho aggiunto al suddetto file:

# commento riguardo allo script
* * * * * root /<path-virtuale-su-cui-viene-caricato-lo-script>/<nome-dello-script>.sh

P.S.:da premettere che all'inizio ho provato anche a dargli il percorso effettivo in cui risiede fisicamente lo script....

dove sbaglio???devo forse mettere lo script in modo che venga caricato semplicemente in /root ??

grazie..
Avatar utente
|Dr_AXIA|
Cisco power user
Messaggi: 103
Iscritto il: mar 14 dic , 2004 8:20 pm
Località: Shaolin Temple - AreA 9999 - Bunker 23 - Ophyucus Protectorate - BerenicE AuriferA-BERENIX PANCRION
Contatta:

xò ho il dubbio che in effetti il file da editare sia sempre e cmq il crontab di sistema che viene montato in /etc/crontab e che esiste fisicamente in /boot/rootcopy/root/etc/crontab

qualche idea??
Avatar utente
TheIrish
Site Admin
Messaggi: 1840
Iscritto il: dom 14 mar , 2004 11:26 pm
Località: Udine
Contatta:

Se è uno script che deve eseguire root e che ha effetto sul sistema, se esiste un file /etc/crontab io andrei ad editare quello...
Avatar utente
|Dr_AXIA|
Cisco power user
Messaggi: 103
Iscritto il: mar 14 dic , 2004 8:20 pm
Località: Shaolin Temple - AreA 9999 - Bunker 23 - Ophyucus Protectorate - BerenicE AuriferA-BERENIX PANCRION
Contatta:

embè certo....difatti ero partito anch'io con sta idea...ma come ho detto digitando crontab -e si vede il file di configurazione del crond attivo al momento sul sistema e sto file sulla slax puntava alla directory che dicevo sopra... :roll:
Avatar utente
|Dr_AXIA|
Cisco power user
Messaggi: 103
Iscritto il: mar 14 dic , 2004 8:20 pm
Località: Shaolin Temple - AreA 9999 - Bunker 23 - Ophyucus Protectorate - BerenicE AuriferA-BERENIX PANCRION
Contatta:

ho individuato il problema..non è dovuto al crontab ma allo script...questo script praticamente per funzionare si ricava il nome di un file da inviare con questa istruzione

"ls -la <path-in-cui-cercare>|grep *.<estensione-file>|awk...."

il problema sta nell' ls....se dò questo comando nella cartella in cui il file esiste, funziona tutto....se lo dò in altra cartella invece non mi trova nessun file, oppure gli devo dare questo comando

"ls -la <path-in-cui-cercare>|grep .<estensione-file>|awk...."

ma mi trova anche file tipo *.<estensione>.old .... come fare per farmi trovare solo il file .<estensione> ???
Avatar utente
|Dr_AXIA|
Cisco power user
Messaggi: 103
Iscritto il: mar 14 dic , 2004 8:20 pm
Località: Shaolin Temple - AreA 9999 - Bunker 23 - Ophyucus Protectorate - BerenicE AuriferA-BERENIX PANCRION
Contatta:

x ora ho risolto aggiungendo l'opzione --ignore=<estensione-da-escludere>...

conoscete un altro modo?
Avatar utente
TheIrish
Site Admin
Messaggi: 1840
Iscritto il: dom 14 mar , 2004 11:26 pm
Località: Udine
Contatta:

Servirebbe magari leggere lo script completo
Avatar utente
gorion
Cisco enlightened user
Messaggi: 170
Iscritto il: ven 04 mar , 2005 11:50 am
Contatta:

Ciao, posta lo script così che ti si possa aiutare meglio.

Tu stai cercando, da quanto ho capito, la stringa che compone il nome del file, solo che ti funziona solo come se fosse un strstr di ansi c, cioè vede se il pattern è contenuto nella stringa, mentre a te interessa cercare la stringa esatta.

E' corretto ?
Non ti girare......c'è Murphi che guarda !
Avatar utente
active
Cisco pathologically enlightened user
Messaggi: 181
Iscritto il: dom 27 ago , 2006 10:32 pm
Località: /dev/null

Ora premetto che slax potrebbe gestire gli script di crond in altra maniera. Comunque /etc/crontab dovrebbe essere utilizzato per far partire a intervalli di 1 ora, 1 giorno, 1 settimana, 1 mese degli script che si trovano nelle directory cron.daily, cron.hourly, cron.monthly....ecc

Quindi le soluzioni sono:
1) crei un piccolo script in bash (o il linguaggio che preferisci) e lo metti in una di quelle dir, per esempio se ti serve che il tuo script venga eseguito una volta al giorno, indipendentemente dal quando, lo metti in cron.daily.

2) tramite il comando

Codice: Seleziona tutto

crontab -e
editi il crontab dell'utente con cui lo lanci. Questo file non ti interessa dove viene messo (solitamente sotto /var/spool/cron/), e verra' eseguito dal demone crond. In questo caso devi conoscere la sintassi del crond.
active
Avatar utente
|Dr_AXIA|
Cisco power user
Messaggi: 103
Iscritto il: mar 14 dic , 2004 8:20 pm
Località: Shaolin Temple - AreA 9999 - Bunker 23 - Ophyucus Protectorate - BerenicE AuriferA-BERENIX PANCRION
Contatta:

grazie a tutti...in effetti quello che faccio è andarmi ad editare /var/spool/cron/crontabs/root come hai detto tu active...solo che per rendermi le modifiche attive anche al prossimo riavvio modifico il file nella directory da cui poi la slax monta il vero e proprio /var/spool/cron/crontabs/root del sistema...
Avatar utente
active
Cisco pathologically enlightened user
Messaggi: 181
Iscritto il: dom 27 ago , 2006 10:32 pm
Località: /dev/null

Già, in effetti essendo una distro live, potrebbe benissimo utilizzare un tree di sistema a parte, per salvarsi delle info che altrimenti andrebbero perse al boot successivo...
active
Rispondi