[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] crontab su sourceforge



On Sunday 15 January 2006 13:17, Davide Prina wrote:
> ho un problema con il crontab ed il simbolo %.
>
> Il comando è qualcosa del genere
>
> 59 * * * * tar -cz /tmp/a > /tmp/$((`date +"\%Y\%m\%d"`)).tar.gz
>
> e su Debian funziona, ma su sourceforge mi genera il seguente errore:
>
> /bin/sh: line 1: \2006\01\15: syntax error: operand expected (error
> token is "\2006\01\15")
>
> Naturalmente il comando funziona se lanciato da shell sul server di
> sourceforge.

Ciao,

da quanto vedo vuoi fare un backup dando al file un nome che contenga la 
data in cui esso viene creato. Non capisco perché usi $(( ... )) che 
serve per espandere espressioni aritmetiche (ecco perché gli manca un 
operando). Ad esempio:

    $ echo $(( 3 + 2 * 4 ))
    11
    $

Se vuoi semplicemente che il comando "date" sia eseguito e il suo 
risultato sostituito sulla linea di comando allora devi usare la 
cosiddetta "command substitution" (vedi la pagina man), che si ottiene in 
due modi: con `...` oppure con $( ... ). Se vuoi essere sicuro che la 
stringa con il formato della data giunga intatta al comando "date" puoi 
usare apici singoli, senza bisogno di ulteriori caratteri escape. A 
titolo di esempio:

    $ echo `date '+%Y%m%d'`.tar.gz
    20060115.tar.gz
    $

Saluti.


alfredo



Reply to: