Re: [OT] crontab su sourceforge
On Sunday 15 January 2006 14:51, Davide Prina wrote:
> [...]
> in realtà voglio fare un'operazione aritmetica in un altro punto,
> nell'esempio riportato ho accorciato il comando effettivo.
> In pratica voglio usare l'opzione
>
> --newer-mtime $((`date +"%Y%m%d"`-1))
>
> in modo da fare dei backup incrementali prendendo le ultime modifiche.
> se però faccio:
>
> [...]
> 59 * * * * tar -cz /tmp/a > /tmp/`date +'\%Y\%m\%d'`.tar.gz
>
> mi crea un file con il seguente nome
> \2006\01\15.tar.gz
>
> che è già un successo ;-)
> [...]
> Però ora ho un altro problema ... togliendo -1 avrei un errore ogni
> inizio mese. Esiste qualcosa per fare operazioni tra date in sh?
> Se non trovo nulla posso sempre far si che se gli ultimi due caratteri
> sono 0, allora li trasformo in 01 ;-)
Quando nel crontab usi la linea
59 * * * * tar -cz /tmp/a > /tmp/`date +'\%Y\%m\%d'`.tar.gz
il carattere '\' serve a non far passare '%' a cron che lo
interpreterebbe, però poi lo stesso carattere '\' viene trattato da
"date" in modo letterale.
Visto che si tratta di backup incrementali io sinceramente cambierei
approccio. Uno script di backup, ad esempio in /usr/local/bin/backup.sh,
è sicuramente una soluzione più completa, versatile e mantenibile di una
singola linea di comando. Successivamente inserisci nel crontab il nome
dello script da eseguire con i parametri opportuni.
Se usi la versione GNU di "tar" ti consiglio di dare un'occhiata
all'opzione "--listed-incremental=snapshot-file". Sul manuale c'è una
sezione apposita dedicata ai backup incrementali:
http://www.gnu.org/software/tar/manual/index.html
Saluti.
alfredo
Reply to: