Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Curso de Inglês Online

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Usando data no crontab

Colaboração: Francisco Aparecido da Silva

Data de Publicação: 13 de novembro de 2010

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
Francisco Aparecido da Silva trabalha atualmente com administração de redes e aulas na graduação na www.santacruz.br com segurança de sites. Utiliza GNU/Debian como distro linux preferida tanto em servidores quanto nos desktops. Blog Pessoal http://blog.silva.eti.br e no http://twitter.com/fafanete .

Veja a relação completa dos artigos de Francisco Aparecido da Silva

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 3.00/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1058 votos)

Opinião dos Leitores

Francisco
22 Nov 2010, 19:05
Guilherme, a diferença esta no \ (escape). Sem ele, você tem erros neste comando via cron.
EmanuelSan
19 Nov 2010, 11:12
Normalmente eu sempre uso essa formatação para o date entre aspas, mas estou vendo que não adianta para o crontab pois esse caracter % é muito especial para ele (tentei com apóstrofos e também não funcionou).

Sorte que nunca me deparei com algum problema em decorrência do uso do % no crontab (não sabia que ele era especial nesse contexto). Acho que é porque em 95% dos casos eu só uso o crontab para chamar scripts.

Sobre o exemplo eu acho que é melhor usar a data no formato Ano-Mês-Dia, eu sempre faço isso internamente nos programas e nos nomes de arquivo que incluam datas no nome.
Eduardo
13 Nov 2010, 10:23
Francisco,

Boa iniciativa, mas normalmente para tarefas mais complexas, como um bom script de backup, faz-se via crontab a chamada de um script.

Guilherme,

A diferença está na execução via crontab, que sem escapar apresenta erro na execução.
Guilherme
13 Nov 2010, 09:52
gui@slackware:~$ date +%d-%m-%Y
13-11-2010
gui@slackware:~$ date +\%d-\%m-\%Y
13-11-2010
gui@slackware:~$

Qual a diferença?
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script

Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

Programando o Android