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: