Crontab how to

Cron é em linux o equivalente ao tarefas agendadas do Windows, ou seja permite correr automaticamente em background, em intervalos predefinidos pelo utilizador, determinado programa ou script.

Crontab (CRON TABle) é o ficheiro onde são guardadas as tarefas agendadas(intervalo, comandos, etc…).

A seguir algumas luzes sobre o crontabs:

1. Crontab Restrições

2. Crontab Comandos

3. Crontab Sintaxe do ficheiro

4. Crontab Exemplo

5. Crontab Ambiente

6. Desactivar email

7. Gerar log do crontab

Â

1. Crontab Restrições

____________

Pode executar o cron tab se o seu endereço aparecer no ficheiro /usr/lib/cron/cron.allow.Se este ficheiro não existir pode usar o crontab se o seu endereço não aparecer no ficheiro /usr/lib/cron/cron.deny.

Se só existir o cron.deny e estiver vazio, todos os utilizadores o podem usar. Se nenhum dos ficheiros existir, só o root pode usar Crontab’s. Os ficheiros de premissões consistem em 1 username por linha.

2. Crontab Comandos

__________

export EDITOR=vi ;expicifica o editor que vai ser usada para editar o ficheiro crontab.

crontab -e Edita o ficheiro crontab, se este não existir então é criado.

crontab -l Mostra o conteudo do ficheiro crontab.

crontab -r Remove o ficheiro crontab.

crontab -v Mostra data da ultima alteração ao ficheiro crontab

Â

3. Crontab ficheiro

___________

Crontab sintaxe :-Â O Crontab tem 5 campos para especificar o dia, data e hora seguido do comando a ser executado

* * * * *Â Comando a executar

– – – – –

| | | | |

| | | | +—– dia da semana (0 – 6) (Domingo=0)

| | | +——-Â Mes (1 – 12)

| | +——— Dia do mes (1 – 31)

| +———– hora (0 – 23)

+————- minuto (0 – 59)

Â

* O valor valido para cada asterisco é o valor que está no intervalo entre parentises

A coluna pode ter o valor * ou uma lista de valores separados por virgulasÂ

Se tiver um * no campo das horas o comando será executado todas as horas

4. Crontab Exemplo

_______

Este exeplo remove o conteudo do directorio /home/lixo todos os dias ás 18:30

30 18 * * * rm /home/lixo/*

Â

5. Crontab Ambiente

___________

cron executa o comando do directorio de cada utilizador com a shell (/usr/bin/sh)

cron fornece algumas variaveis de ambiente e são elas:

HOME=Directorio do utilizador

LOGNAME=Nome do utilizador

PATH=/usr/bin:/usr/sbin:.

SHELL=/usr/bin/sh

6. Desactivar email

____________

Por defeito o cron envia um email ao utilizador que criou a atrefa. Se nao for necessario ou nao quiser receber estes emails basta acrescentar o seguinte no fim da linha do comando a ser executado Â

>/dev/null 2>&1

Â

7. Gerar um log dos crons

________________

Para escrever o resultados dos comandos para um log:Â

30 18 * * * rm /home/lixo/* > /home/lixo/limpar_lixo.log