# [RISOLTO] crontab utente

## geps2

voglio lanciare comandi da cron (Vixie) come utente non root.

aggiungo l'utente ai gruppi cron e crotab.

```
# usermod -a -G cron,crontab user
```

edito il crontab (lascio anche la riga vuota finale, mi ricordo che ci voleva):

```

$ crontab -e

>>> 00 * * * * user /home/user/script #ogni ora, giusto?
```

non ho alcun tipo di errore sul log, ma lo script non viene eseguito. Naturalmente ho provato lo script da solo e funziona benissimo.

Per ora ho risolto inserendo lo script nella dir /etc/cron.hourly, ma lì comanda il crontab di root...

Grazie per l'attenzione, ciao!

GePsLast edited by geps2 on Sat Nov 24, 2007 10:40 pm; edited 1 time in total

----------

## Peach

```
# USAGE 

# +------------ minute (0 - 59)

# | +---------- hour (0 - 23)

# | | +-------- day of month (1 - 31)

# | | | +------ month (1 - 12)

# | | | | +---- day of week (0 - 6) (Sunday=0)

# | | | | |

# * * * * * command to be executed
```

quindi forse non devi usare 00 ma solo 0... hai provato?

----------

## geps2

 *Peach wrote:*   

> 
> 
> ```
> # USAGE 
> 
> ...

 

Ho provato con 10, 15 e 30 e non va lo stesso....

----------

## codadilupo

e se provassi a mettere il comando nella forma "sh /home/user/script" ?

Coda

----------

## geps2

 *codadilupo wrote:*   

> e se provassi a mettere il comando nella forma "sh /home/user/script" ?
> 
> Coda

 

no  :Sad: 

----------

## codadilupo

ovviamente intendevo "/bin/sh /path/to/the/script" ... ma come al solito mi perdo i pezzi  :Wink: 

Coda

----------

## geps2

 *codadilupo wrote:*   

> ovviamente intendevo "/bin/sh /path/to/the/script" ... ma come al solito mi perdo i pezzi 
> 
> Coda

 

nada

----------

## Peach

ciao geps, a questo punto direi che è il caso di leggere il man di vixie e cercare di aumentare la verbosità.

ma forse prima dovresti controllare la mail di root, possibile che gli errori e quant'altro di cron venga spedito a root (non so perché visto che è uno script utente, cmq tentar non nuoce)

una volta aumentata la verbosità o scoperto cmq dove vanno a finire i messaggi di log, direi che potresti provare con uno script idiota:

```
$ echo "echo prova" >> script.sh

$ chmod a+x script.sh

$ echo my-crontab

# my user crontab

5 * * * * /bin/sh /home/utente/script.sh

$ crontab -r

$ crontab my-crontab
```

ti suggerisco di evitare di usare crontab -e per a vere la certezza che funzioni correttamente (-r dovrebbe rimuovere ogni crontab, vedi se è corretta la flag).

per quanto riguarda la struttura del crontab, sempre nelle man page ci dovrebbe essere scritta la sintassi corretta (mi riferisco nello specifico all'utente che esegue lo script).

facci sapere.

----------

## Flameeyes

 *geps2 wrote:*   

> 
> 
> ```
> 
> $ crontab -e
> ...

 

user si inserisce solo quando usi il crontab di sistema (/etc/crontab). Se usi il tuo crontab utente, eseguirà sempre dal tuo utente, e quindi quel campo non esiste più.

Quindi togli via il nome del tuo utente, e dovrebbe funzionare tutto.

----------

## geps2

 *Flameeyes wrote:*   

>  *geps2 wrote:*   
> 
> ```
> 
> $ crontab -e
> ...

 

Sì, adesso va. Grazie!

----------

