Usare CRON

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
darkstaring
Linux 3.x
Linux 3.x
Messaggi: 657
Iscritto il: mer 13 ott 2010, 13:55
Nome Cognome: Francesco Achenza
Desktop: KDE
Distribuzione: Arch Linux
Contatta:

Usare CRON

Messaggio da darkstaring »

Sera a tutti...

Sto cercando di schedulare operazioni con cron senza successo...
In pratica scrivo un file in " /etc/cron.d/ " e le dò i permessi di esecuzione (777) ma arrivando al momento nel quale lo script dovrebbe essere eseguito
mi accorgo che invece non viene eseguito...

Sapete darmi qualche dritta?...Può essere legato al timezone impostato?
Questo è il file che scrivo:

Codice: Seleziona tutto

root@mediahp:/etc/cron.d# cat htv 
SHELL=/bin/bash 
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games 
18 17 * * * root init 0  

root@mediahp:/etc/cron.d# cron -l
cron: can't lock /var/run/crond.pid, otherpid may be 28045: Resource temporarily unavailable

root@mediahp:/etc/cron.d# ps aux | grep cron
See http://gitorious.org/procps/procps/blobs/master/Documentation/FAQ
root     28045  0.0  0.0  19112   980 ?        Ss   17:11   0:00 cron

Grazie
Francesco

ilmich
Master
Master
Messaggi: 1645
Iscritto il: lun 16 lug 2007, 17:39
Slackware: 15.0 64bit
Kernel: 5.15.27
Desktop: kde
Località: Roma

Re: Usare CRON

Messaggio da ilmich »

non sono un esperto di cron.. sicuramente c'e' chi è piu' ferrato di me in questo campo.. ma una volta ci sono impazzito anche io dietro ad una cosa simile e ho capito che:
  • i file presenti sotto /etc/cron.d/ a meno che non riavvi il demone non vengono subito recepiti, mi pare che cron di suo rilegga la configurazione ogni 30 minuti
  • diverso è il caso in cui editi il crontab dell'utente loggato tramite il comando crontab -e. in questo caso infatti viene istruito il demone a riconfigurarsi entro il minuto successivo.
non so se puo' essere il tuo caso.

ciaup
#LiveSimple and #ProgramThings
https://github.com/ilmich
http://ilmich6502.it/

Avatar utente
darkstaring
Linux 3.x
Linux 3.x
Messaggi: 657
Iscritto il: mer 13 ott 2010, 13:55
Nome Cognome: Francesco Achenza
Desktop: KDE
Distribuzione: Arch Linux
Contatta:

Re: Usare CRON

Messaggio da darkstaring »

Sono su un server Ubuntu...
Difficile usare 'crontab -e'... Il file cron lo faccio generare dall'utente tramite php e non da terminale...
Ho provato a riavviare cron ma nisba...
Sembra che la directory /etc/cron.d non venga vista.. in /var/log non ho nessun log su cron ma il servizio è in esecuzione...

Non è che devo inserire in /etc/crontab di verificare ogni minuto se ci sono cosa da eseguire cose in /etc/cron.d ???

ilmich
Master
Master
Messaggi: 1645
Iscritto il: lun 16 lug 2007, 17:39
Slackware: 15.0 64bit
Kernel: 5.15.27
Desktop: kde
Località: Roma

Re: Usare CRON

Messaggio da ilmich »

guarda qui in particolare il pezzo
don't forget to add a newline at the end of your command in your cron file.
magari generandolo tramite php puo' essere questo il problema.

ciau
#LiveSimple and #ProgramThings
https://github.com/ilmich
http://ilmich6502.it/

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6629
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Usare CRON

Messaggio da targzeta »

Ma i file in cron.d devono essere script e non entry per crontab. Quel file htv non ha molto senso...o mi sono perso qualcosa???

Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: Usare CRON

Messaggio da ZeroUno »

no Manu. Le entry in cron.daily &co devono essere script, mentre quelli in cron.d devobo essere entry cron con in più (rispetto a crontab -e) l'utente con cui lanciare il comando
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
darkstaring
Linux 3.x
Linux 3.x
Messaggi: 657
Iscritto il: mer 13 ott 2010, 13:55
Nome Cognome: Francesco Achenza
Desktop: KDE
Distribuzione: Arch Linux
Contatta:

Re: Usare CRON

Messaggio da darkstaring »

Non sò perchè ma non và...
Questo è il file che genero:

Codice: Seleziona tutto

root@mediahp:~# ls -al /etc/cron.d/h*
-rwxrwxrwx 1 www-data www-data 159 mar 27 10:07 /etc/cron.d/htv

root@mediahp:~# cat /etc/cron.d/htv 
SHELL=/bin/bash 
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games 
10 10 * * * root echo "AJO" > /tmp/riesce.txt 
Se funziona alle 10 e 10 mi dovrei trovare /tmp/riesce.txt che invece non si crea..
Cosa mi consigliate?

....Posso mettere più scheduling: ( 10 10 * * * root echo "AJO" > /tmp/riesce.txt ) nello stesso file ?

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: Usare CRON

Messaggio da ZeroUno »

puoi mettere più entry si.

Per aggiornare la cache di cron.d senza aspettare dai touch /etc/cron.d/cron.update

killa crond e startalo a mano con

/usr/sbin/crond -l notice

ora in /var/log hai il file 'cron'

che, con il tuo htv, da:

Mar 27 10:36:16 matteo crond[11946]: failed parsing crontab for user root: SHELL=/bin/bash
Mar 27 10:36:16 matteo crond[11946]: failed parsing crontab for user root: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games


edit: questo su slackware
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
darkstaring
Linux 3.x
Linux 3.x
Messaggi: 657
Iscritto il: mer 13 ott 2010, 13:55
Nome Cognome: Francesco Achenza
Desktop: KDE
Distribuzione: Arch Linux
Contatta:

Re: Usare CRON

Messaggio da darkstaring »

Ho fatto tutto quello che mi hai detto ma il file /usr/sbin/crond non esiste...
C'è una differenza tra cron e crond in /usr/sbin/ ???

Ho stoppato il servizio di cron, killato il processo
creato /etc/cron.d/cron.update
e riavviato cron con "/usr/sbin/cron -l notice" (attenzione alla d che manca).

In /var/log/ non ho nessun log su cron e le operazioni non vengono eseguite.

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: Usare CRON

Messaggio da ZeroUno »

Come dicevo, quanto detto è riferito a slackware. Può darsi che su ubuntu il processo si chiama cron e sia in un altro path (dipende da come è stato compilato).

il lancio manuale consente di mettere il "-l notice" che consente di creare un log (per capire perchè non parte) che in slackware è /var/log/cron, ma in ubuntu potrebbe chiamarsi in modo diverso o mettersi dentro il /var/log/messages

Se il problema è lo stesso di slackware, elimina SHELL e PATH da htv lasciando solamente
10 10 * * * root echo "AJO" > /tmp/riesce.txt

so per certo che in alcune distribuzioni è possibile mettere SHELL e PATH. In quali non lo so, ma se in slackware ce lo metti fallisce.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
darkstaring
Linux 3.x
Linux 3.x
Messaggi: 657
Iscritto il: mer 13 ott 2010, 13:55
Nome Cognome: Francesco Achenza
Desktop: KDE
Distribuzione: Arch Linux
Contatta:

Re: Usare CRON

Messaggio da darkstaring »

Il file di log sembrerebbe /var/log/syslog anche se contiene il log di dmesg ed altro contiene anche le info di cron...
Questo quello che succede dopo il riavvio di cron:

Codice: Seleziona tutto

Mar 27 16:48:01 mediaHP /usr/sbin/cron[4104]: (*system*htv) INSECURE MODE (group/other writable) (/etc/cron.d/htv)
Mar 27 16:49:01 mediaHP /usr/sbin/cron[4104]: (*system*htv) INSECURE MODE (group/other writable) (/etc/cron.d/htv)
Mar 27 16:50:01 mediaHP /usr/sbin/cron[4104]: (*system*htv) RELOAD (/etc/cron.d/htv)
Mar 27 16:50:46 mediaHP /usr/sbin/cron[4875]: (CRON) INFO (pidfile fd = 3)
Mar 27 16:50:46 mediaHP /usr/sbin/cron[4876]: (CRON) STARTUP (fork ok)
Mar 27 16:50:46 mediaHP /usr/sbin/cron[4876]: (CRON) INFO (Skipping @reboot jobs -- not system startup)
(group/other writable) ???
I permessi di /etc/cron.d/htv sono: [ -rwxrwxrwx ]... Ho provato a cambiarli con i [ -rwxr--r-- ] e a riavviare cron ma stesso problema....
Ho rimosso le variabli PATH e SHELL e reso il root proprietario di /etc/cron.d/htv
Ho trovato questa pagina dice:

Codice: Seleziona tutto

       Come / etc / crontab , i file in / etc / cron.d directory sono monitorati
       per le modifiche. In generale, l'amministratore di sistema non deve utilizzare
       / Etc / cron.d / , ma utilizzare il crontab di sistema standard / etc / crontab.

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: Usare CRON

Messaggio da ZeroUno »

root anche il gruppo? e i permessi di /etc/cron.d (la directory) come sono?

prova anche a ristoppare cron e lanciarlo in questo modo:

/usr/sbin/cron -f -d -l debug

questo non ti restituisce il prompt (con ctrl+c lo fermi) e ti da molte più informazioni


edit: prova anche a togliere 'root' dal file
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: Usare CRON

Messaggio da ZeroUno »

abbiamo comunque versioni di cron diverse

redhat ha "ISC Cron V4.1" che accetta USER= ecc in cron.d/* e accetta l'utente.
slackware ha "dillon's lightweight cron" che evidentemente non accetta USER= e l'utente ma tuttavia accetta i permessi a 777 in cron.d

tu quale hai? lo vedi da 'man cron' prime righe. Per caso man cron corrisponde a questo?
http://manpages.ubuntu.com/manpages/pre ... ron.8.html

in tal caso il cron come te l'ho dato probabilmente fallisce. Prova con
/usr/sbin/cron -f -L 15 -l
poi startalo con la versione ufficiale e dai ps -ef|grep cron per vedere con che parametri viene lanciato.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
darkstaring
Linux 3.x
Linux 3.x
Messaggi: 657
Iscritto il: mer 13 ott 2010, 13:55
Nome Cognome: Francesco Achenza
Desktop: KDE
Distribuzione: Arch Linux
Contatta:

Re: Usare CRON

Messaggio da darkstaring »

Bella ZeroUuuuuu :)...
Finalmente il file riesce in tmp lo trovo =D> ...
Cosa ne pensi di togliere i permessi di esecuzione dall'avvio a /etc/init.d/cron per aggiungere
in rc.local [ /usr/sbin/cron -f -d -l debug ] ???

muchas gracias ;)

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6629
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Usare CRON

Messaggio da targzeta »

ZeroUno ha scritto:no Manu. Le entry in cron.daily &co devono essere script, mentre quelli in cron.d devobo essere entry cron con in più (rispetto a crontab -e) l'utente con cui lanciare il comando
Bene, allora mi ero perso qualcosa :).

Grazie mille Matteo,
Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Rispondi