8 de nov de 2010

Usando data no crontab

Uma vez que você usa o crontab para automatizar tarefas, surgem dúvidas de como utilizar datas (comando date) sem ter que recorrer a scripts externos. Por exemplo, imagine que no crontab tenha uma rotina para compactar um determinado diretório /srv/samba/, guardando para cada dia um arquivo.

No crontab ficaria assim:

4 10  * * * tar -cvzf /bkp/samba/diario/`date +\%d-\%m-\%Y`.samba.tar.gz /srv/samba/*

Perceba que uso um escape(\) para todo % para que a execução do trabalho seja realizada sem erros.

No shell, você pode testar e comparar o resultado:

date +\%d-\%m-\%Y  usando escape para todo %
date +%d-%m-%Y     sem usar escape