Pplware

Comandos Linux para Totós – Tutorial nº20

Pré-programação de tarefas com o crontab

Ora vivam caros Linuxianos (quase Gurus) !!! Cá estamos nós para mais uma rubrica “Comandos Linux para Totós”. Hoje é um dia especial pois acabamos de chegar à vigésima rubrica e parece-me que já temos um grupo de leitores fiéis à mesma!

Já têm o terminal preto pronto? Lets go…hoje vai ser em piloto automático!

Hoje vamos reeditar um dica que publicamos em 2007 sobre o crontab (ver aqui).

Mas o que é o crontab e para que serve?

O cron é um serviço unix que permite que tarefas sejam executadas, automaticamente, modo background em intervalos regulares pelo deamon da cron. Estas tarefas são normalmente designadas por “cron jobs” em unix. Basicamente, através do serviço crontab podemos agendar determinadas tarefas como por exemplo: realizar backups a uma determinada hora/dia, recolher automaticamente informações de serviços, analisar logs, etc etc.

Os pontos seguintes resumem as funcionalidades do crontab:

  1. Restrições do crontab
  2. Comandos do crontab
  3. Ficheiro do crontab – sintaxe
  4. Exemplo do crontab
  5. Ambiente do crontab
  6. Desabilitar email
  7. Gerar ficheiro de registo da actividade do cron

1. Restrições do crontab

Pode executar o crontab se o seu username constar do ficheiro/usr/lib/cron/cron.allow. Se esse ficheiro não existir, poderá executar o crontab se o seu username não constar do ficheiro/usr/lib/cron/cron.deny.

2. Comandos do crontab

Deve ser executado o comando “export EDITOR=nano” para especificar um editor de texto para abrir o ficheiro do crontab. Neste caso o editor definido foi o nano.

3. Ficheiro do crontab – sintaxe

Sintaxe do crontab: O ficheiro do crontab é composto por cinco campos para especificar o dia, a data e a hora seguido pelo comando a ser executado nessa altura.

4. Exemplo de Crontab

Uma linha na crontab como a que está em baixo remove os ficheiros temporários de /home/someuser/tmp each day às 18:30 de cada dia.

30 18 * * * rm /home/someuser/tmp/*

Alterando os valores dos parâmetros, como mostrado abaixo, irá provocar que este comando corra a diferentes horas (ou datas):

min| hora| dia do mes| mes| dia da semana| data/hora de execução

5. Variáveis de ambiente da Crontab

A crontab invoca os comandos a partir da directoria /home do utilizador, dentro da shell (/usr/bin/sh). No entanto é possível definir variáveis de ambiente para cada shell:

6. Desactivar email

Por omissão a crontab envia uma mensagem de correio electrónico por cada comando executado. Caso não pretenda que esta mensagem seja enviada deve adicionar a seguinte linha ao final de cada comando da cron.

> /dev/null 2>&1

7. Gerar ficheiro de log

Para recolher logs de execução da cron num ficheiro:

30 18 * * * rm /home/user/tmp/* > /home/user/cronlog /clean_tmp_dir.log

Por hoje é tudo! Espero que estejam a aproveitar estes tutoriais para aumentar ainda mais o vosso conhecimento sobre Linux e aguardo ansiosamente o vosso feedback. E os vossos contributos? Alguém quer contribuir com artigos? mail me 

Artigos relacionados

 

Exit mobile version