un aiutino con crontab

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

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 Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
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.
Rispondi
Avatar utente
danix
Staff
Staff
Messaggi: 3289
Iscritto il: ven 27 ott 2006, 19:32
Nome Cognome: Danilo M.
Slackware: 64 current
Kernel: 6.12.13 x86_64
Desktop: i3
Località: Verona (VR)
Contatta:

un aiutino con crontab

Messaggio da danix »

Ciao a tutti...
ho un piccolo problema con crontab, immagino sia perchè non l'ho mai usato, comunque... :)
premetto che ho controllato e crond è in esecuzione --> /usr/sbin/crond -110
usando crontab -e ho inserito la seguente riga:

Codice: Seleziona tutto

5 * * * * echo "ciao a tutti" >> /home/miahome/file_di_testo.txt
Se non ho capito male dovrebbe aggiungere la riga "ciao a tutti" al file "file_di_testo.txt" contenuto nella mia home ogni 5 minuti, giusto??

Solo che non funziona :( nella doc non ho trovato nulla che possa aiutarmi, qualcuno di voi mi sa dire se sto sbagliando qualcosa??

Grazie mille a tutti... :)

Ciau
danix
danix ha scritto:non sono molto presente sul forum, e di ciò mi scuso con tutti

Avatar utente
alnilam
Linux 0.x
Linux 0.x
Messaggi: 23
Iscritto il: sab 30 giu 2007, 17:29
Slackware: 12.1
Kernel: 2.6.27
Desktop: kde 3.5.9

Re: un aiutino con crontab

Messaggio da alnilam »

Ciao, dopo aver impostato le regole nel file devi dare

Codice: Seleziona tutto

crontab /path/alfiledelleregole
Col comando crontab -e dovresti aver editato il file che si trova in
/var/spool/cron/crontabs/
Puoi anche copiarti il file in un qualsiasi punto del file system ed editarlo con un editor come vim... poi comunque ricorda di dare il comando scritto sopra...

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: un aiutino con crontab

Messaggio da Mario Vanoni »

danix85 ha scritto:Ciao a tutti...
ho un piccolo problema con crontab, immagino sia perchè non l'ho mai usato, comunque... :)
premetto che ho controllato e crond è in esecuzione --> /usr/sbin/crond -110
usando crontab -e ho inserito la seguente riga:

Codice: Seleziona tutto

5 * * * * echo "ciao a tutti" >> /home/miahome/file_di_testo.txt
Se non ho capito male dovrebbe aggiungere la riga "ciao a tutti" al file "file_di_testo.txt" contenuto nella mia home ogni 5 minuti, giusto??

Solo che non funziona :( nella doc non ho trovato nulla che possa aiutarmi, qualcuno di voi mi sa dire se sto sbagliando qualcosa??

Grazie mille a tutti... :)

Ciau
Prova come utente root, e metti * * * * * echo ... con crontab -e
per provare in fretta, la directory /home/miahome _deve_ esistere!
A me funzionano tutti i comandi cosi`, tutti come utente root.
Diventa utente miahome, fai lo stesso, se non va
allora utente miahome != /home/miahome

Mario Vanoni

Avatar utente
danix
Staff
Staff
Messaggi: 3289
Iscritto il: ven 27 ott 2006, 19:32
Nome Cognome: Danilo M.
Slackware: 64 current
Kernel: 6.12.13 x86_64
Desktop: i3
Località: Verona (VR)
Contatta:

Re: un aiutino con crontab

Messaggio da danix »

Mario Vanoni ha scritto:Prova come utente root, e metti * * * * * echo ... con crontab -e
per provare in fretta, la directory /home/miahome _deve_ esistere!
A me funzionano tutti i comandi cosi`, tutti come utente root.
Diventa utente miahome, fai lo stesso, se non va
allora utente miahome != /home/miahome

Mario Vanoni
ho problemi anche a farlo andare da root...
per provare ho killato crond e l'ho riavviato in foreground attivando il debug, ho impostato:

Codice: Seleziona tutto

* * * * * echo "ciao a tutti" >> /root/prova.txt
come utente root, ho dato il comando:

Codice: Seleziona tutto

crontab /root/mycrontab
come consigliato da alnilam
e ha funzionato, nel senso che ad ogni aggiornamento (ogni minuto) veniva aggiungo un rigo con scritto "ciao a tutti"...

Per provare allora ho impostato un altro comando (uno script che mi restituisce il mio indirizzo ip):

Codice: Seleziona tutto

* * * * * /root/.scripts/myip.sh >> /root/prova.txt
ho ridato:

Codice: Seleziona tutto

crontab /root/mycrontab
ma cron continua a scrivermi "ciao a tutti" nel file...
ho controllato crontab -l e mi restituisce la riga corretta (quella con lo script per l'IP)
allora ho killato e riavviato crond
e ancora continua a scrivermi "ciao a tutti"...

che faccio adesso??

Grazie a tutti
danix
danix ha scritto:non sono molto presente sul forum, e di ciò mi scuso con tutti

Avatar utente
alnilam
Linux 0.x
Linux 0.x
Messaggi: 23
Iscritto il: sab 30 giu 2007, 17:29
Slackware: 12.1
Kernel: 2.6.27
Desktop: kde 3.5.9

Re: un aiutino con crontab

Messaggio da alnilam »

E' strano il comportamento che descrivi... preso dal dubbio ho provato ad impostare 2 differenti comandi e tutto funziona come dovrebbe...
A questo punto controlla:
-la regola impostata va in conflitto con un'altra regola eventualmente presente nel file?
-lo script che utilizzi ha i permessi di esecuzione impostati?
-hai controllato che piu' istanze di crond non siano in esecuzione?
Altro non mi viene in mente... potresti provare con l'approccio poco "scientifico" del "riavvio il sistema e vediamo se funziona..." ... ;)

Avatar utente
danix
Staff
Staff
Messaggi: 3289
Iscritto il: ven 27 ott 2006, 19:32
Nome Cognome: Danilo M.
Slackware: 64 current
Kernel: 6.12.13 x86_64
Desktop: i3
Località: Verona (VR)
Contatta:

Re: un aiutino con crontab

Messaggio da danix »

prima di mettermi a fare altri esperimenti, volevo chiedervi, per passare degli argomenti ad un programma che va in crontab, devo metterlo magari tra virgolette o altro??

per farmi capire:

Codice: Seleziona tutto

* * * * * "ls -l /home/miahome"
oppure

Codice: Seleziona tutto

* * * * * ls -l /home/miahome
???

Grazie per l'aiuto... :D
danix
danix ha scritto:non sono molto presente sul forum, e di ciò mi scuso con tutti

Avatar utente
alnilam
Linux 0.x
Linux 0.x
Messaggi: 23
Iscritto il: sab 30 giu 2007, 17:29
Slackware: 12.1
Kernel: 2.6.27
Desktop: kde 3.5.9

Re: un aiutino con crontab

Messaggio da alnilam »

ho provato senza quoting e funziona...

Codice: Seleziona tutto

* * * * * ls -l >> test2

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: un aiutino con crontab

Messaggio da Mario Vanoni »

danix85 ha scritto:
Mario Vanoni ha scritto:Prova come utente root, e metti * * * * * echo ... con crontab -e
per provare in fretta, la directory /home/miahome _deve_ esistere!
A me funzionano tutti i comandi cosi`, tutti come utente root.
Diventa utente miahome, fai lo stesso, se non va
allora utente miahome != /home/miahome

Mario Vanoni
ho problemi anche a farlo andare da root...
per provare ho killato crond e l'ho riavviato in foreground attivando il debug, ho impostato:

Codice: Seleziona tutto

* * * * * echo "ciao a tutti" >> /root/prova.txt
come utente root, ho dato il comando:

Codice: Seleziona tutto

crontab /root/mycrontab
come consigliato da alnilam
e ha funzionato, nel senso che ad ogni aggiornamento (ogni minuto) veniva aggiungo un rigo con scritto "ciao a tutti"...

Per provare allora ho impostato un altro comando (uno script che mi restituisce il mio indirizzo ip):

Codice: Seleziona tutto

* * * * * /root/.scripts/myip.sh >> /root/prova.txt
ho ridato:

Codice: Seleziona tutto

crontab /root/mycrontab
ma cron continua a scrivermi "ciao a tutti" nel file...
ho controllato crontab -l e mi restituisce la riga corretta (quella con lo script per l'IP)
allora ho killato e riavviato crond
e ancora continua a scrivermi "ciao a tutti"...

che faccio adesso??

Grazie a tutti
Non capisco il tuo crontab /dir/file, _mai_ usato.
I files sono in /var/spool/cron/crontabs,
e.g. root, pincopallina etc.

Perche` killare crond?
Con crontab -e (ovviamente come utente giusto) riparte da solo.
Se da utente normale,
ovviamente deve avere il permesso di scrittura sulla directory target.

Mario Vanoni

Avatar utente
danix
Staff
Staff
Messaggi: 3289
Iscritto il: ven 27 ott 2006, 19:32
Nome Cognome: Danilo M.
Slackware: 64 current
Kernel: 6.12.13 x86_64
Desktop: i3
Località: Verona (VR)
Contatta:

Re: un aiutino con crontab

Messaggio da danix »

Mario Vanoni ha scritto:Non capisco il tuo crontab /dir/file, _mai_ usato.
I files sono in /var/spool/cron/crontabs,
e.g. root, pincopallina etc.
semplicemente:

Codice: Seleziona tutto

$ man crontab
...
crontab file [-u user] - replace crontab from file
...
per usare un file diverso da quello in /var/spool/cron/crontabs in modo da modificarlo con un editor diverso da vi
Mario Vanoni ha scritto:Perche` killare crond?
E' uno degli esperimenti che ho fatto perchè vedevo che nemmeno da root aggiornava il comando che gli avevo assegnato
Mario Vanoni ha scritto:Con crontab -e (ovviamente come utente giusto) riparte da solo.
Se da utente normale,
ovviamente deve avere il permesso di scrittura sulla directory target.

Mario Vanoni
Mi chiarisci cosa vuoi dire con "utente giusto" ?? Intendi root??
per quanto riguarda i permessi sono a posto, ho fatto dei tentativi lanciando a mano i comandi che poi ho messo nel crontab e funzionavano bene...

Ancora grazie mille per l'aiuto... :)
danix
danix ha scritto:non sono molto presente sul forum, e di ciò mi scuso con tutti

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: un aiutino con crontab

Messaggio da conraid »

danix85 ha scritto: crontab file [-u user] - replace crontab from file
...[/code]
per usare un file diverso da quello in /var/spool/cron/crontabs in modo da modificarlo con un editor diverso da vi
cron è un demone, puoi modificare i file con quel che vuoi.
Al limite dopo dai solo un "contrab -e" e salvi subito senza modificare.
E lascia tutto nei percorsi standard.
Importante per i backup

ho fatto la prova che dici e... mi da problemi con >> mentre con > è andato bene.
Ma è stata una prova troppo veloce.
IMHO prova a fare un file .sh che fa tutto non che fa alcune cose e poi ridirigi l'output.

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: un aiutino con crontab

Messaggio da Mario Vanoni »

danix85 ha scritto: Mi chiarisci cosa vuoi dire con "utente giusto" ?? Intendi root??
per quanto riguarda i permessi sono a posto, ho fatto dei tentativi lanciando a mano i comandi che poi ho messo nel crontab e funzionavano bene...
Sei fai crontab -e da utente pincopallina
il programma deve essere eseguibile da pincopallina,
la directory dove scrive deve essere scrivibile per pincopallina.
Con root non hai mai problemi, onnipotente o quasi!

Redirection con > oppure con >> non fanno differenza,
_se_ i permessi ambo le parti sono giusti,
se sono sbagliati, idem.

Mario Vanoni

Avatar utente
mauro
Linux 2.x
Linux 2.x
Messaggi: 281
Iscritto il: gio 11 mag 2006, 21:51
Slackware: current
Kernel: uno degli ultimi...
Desktop: dwm

Re: un aiutino con crontab

Messaggio da mauro »

danix85 ha scritto:

Codice: Seleziona tutto

5 * * * * echo "ciao a tutti" >> /home/miahome/file_di_testo.txt
Se non ho capito male dovrebbe aggiungere la riga "ciao a tutti" al file "file_di_testo.txt" contenuto nella mia home ogni 5 minuti, giusto??
Magari non e' proprio attinente ai problemi che hai ora con crontab, ma con quella impostazione non te lo esegue ogni 5 min. bensi ogni ora, alle 1:05, 2:05, etc...

Avatar utente
danix
Staff
Staff
Messaggi: 3289
Iscritto il: ven 27 ott 2006, 19:32
Nome Cognome: Danilo M.
Slackware: 64 current
Kernel: 6.12.13 x86_64
Desktop: i3
Località: Verona (VR)
Contatta:

Re: un aiutino con crontab

Messaggio da danix »

mauro ha scritto:Magari non e' proprio attinente ai problemi che hai ora con crontab, ma con quella impostazione non te lo esegue ogni 5 min. bensi ogni ora, alle 1:05, 2:05, etc...
Eccome se è attinente, come ho precisato è la prima volta che provo ad usare crontab, avevo questo dubbio in effetti dopo aver visto gli esempi nel man, ma nessuno mi aveva fatto notare questa cosa e non sapevo che pensare... per caso mi sapresti dire come fare per farlo eseguire ogni cinque minuti (se è possibile)??

Grazie mille della risposta...
Ciau
danix
danix ha scritto:non sono molto presente sul forum, e di ciò mi scuso con tutti

Avatar utente
aschenaz
Staff
Staff
Messaggi: 4623
Iscritto il: mer 28 lug 2004, 0:00
Nome Cognome: Nino
Slackware: current
Kernel: 5.4.x
Desktop: KDE
Località: Reggio Calabria
Contatta:

Re: un aiutino con crontab

Messaggio da aschenaz »

danix85 ha scritto:...mi sapresti dire come fare per farlo eseguire ogni cinque minuti (se è possibile)??
Metti una / prima del 5 ( /5 ).

Ciao,
nino

Avatar utente
danix
Staff
Staff
Messaggi: 3289
Iscritto il: ven 27 ott 2006, 19:32
Nome Cognome: Danilo M.
Slackware: 64 current
Kernel: 6.12.13 x86_64
Desktop: i3
Località: Verona (VR)
Contatta:

Re: un aiutino con crontab

Messaggio da danix »

Grazie a tutti,
adesso vedo se funziona, ho fatto uno script che si occupa di tutto in automatico e viene lanciato ogni 5 minuti... :)

Vi faccio sapere com'è andata... :)

Ciau...
danix
danix ha scritto:non sono molto presente sul forum, e di ciò mi scuso con tutti

Rispondi