ENTENDENDO O QUE É CRONTAB #83
marcialwushu
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
ENTENDENDO O QUE É CRONTAB
Antes de explorar o Crontab, é necessário apresentar a você o Cron. Trata-se de um programa do Linux executável em segundo plano (ou seja, um daemon), capaz de executar tarefas automaticamente.
Como o serviço funciona? Quando iniciado, o Cron faz uma varredura (a cada minuto) pelos diretórios que possam conter arquivos nos quais estão guardados os scripts agendados pelo usuário.
O propósito da examinação não é somente o de encontrar tarefas novas, mas, principalmente, de saber se há alguma atividade programada para o momento.
Vale destacar, também, que o Cron é um programa de nível multiusuário. Isso significa que cada usuário pode agendar suas tarefas individualmente, graças ao próprio arquivo onde são armazenados os scripts: o Crontab.
Sim, o Crontab é uma ferramenta para gerar arquivos a serem lidos pelo Cron. Como o próprio nome diz, a estrutura do Crontab consiste em tabelas. Nessas tabelas são preenchidas todas as informações referentes à tarefa:
minutos;
horas;
dias do mês;
mês;
dias da semana;
usuário; e
comando.
Leia mais: Asterisk - Conheça a Poderosa Solução OpenSource Para Comunicação VOIP
Portanto, quando o arquivo Crontab é gerado, o Cron faz a identificação dele e, em seguida, interpreta os dados e parâmetros registrados na tabela. Nitidamente, o Cron e o Crontab se baseiam na ideia de operador e cronograma de trabalho (ou o humano e sua agenda, se preferir).
OPÇÕES DE CONFIGURAÇÃO DO CRONTAB
A configuração padrão para arquivos do Cron está localizada no arquivo /etc/crontab, a qual apresenta as seguintes informações:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
A primeira linha (SHELL) determina o sistema em que o ambiente Shell será usado. A variável PATH é onde está definido o caminho usado para executar comandos.
Em MAILTO, o usuário tem a opção de receber e-mails de saída do Cron; caso não deseja recebê-los, marque como MAILTO=””. Por fim, o HOME permite configurar um diretório “home” para executar comandos e scripts.
Cada uma das demais linhas representa uma tarefa. Para interpretá-la, é necessário entender a sintaxe do Crontab, conforme veremos a seguir.
Primeiramente, dividimos as informações em seis partes (da esquerda para a direita):
Minuto (0 a 59) | Hora (0 a 23) | Dia (1 a 31) | Mês (1 a 12)| Dia da semana (0 a 7) | Comando (comando a ser executado).
Ou seja, para cada campo será digitado um valor correspondente às regras acima. Detalhe: o dia da semana oferece oito possibilidades, sendo que os valores 0 e 7 significam domingo.
Observação: na configuração mostrada no início do tópico, nas linhas que representam as tarefas há um elemento chamado “run-parts”. Ele serve para executar scripts naqueles diretórios.
CARACTERES ESPECIAIS E SUAS FUNÇÕES
Em meio a uma instrução do Crontab é comum que o usuário se depare com alguns caracteres / símbolos que têm funções específicas, como asterisco (*), vírgula (,), hífen (-) e barra (/). Vejamos o que eles significam.
Leia mais: GrayLog: Como Instalar e Configurar Essa Poderosa Ferramenta De Logs Para Sua Rede
ASTERISCO
O asterisco serve para especificar que todos os valores do campo serão validados. Vamos supor que um determinado comando tenha de ser executado diariamente durante o mês; para configurar o Crontab, basta inserir o asterisco no campo “Mês”.
HÍFEN
O sinal de hífen é usado para especificar um intervalo. Por exemplo, se o comando deve ser executado somente em dias úteis (segunda a sexta), o campo “Dia” deve ser preenchido da seguinte maneira: 1-5.
VÍRGULA
As vírgulas têm a função de listar uma sequência de valores. É uma opção ideal para agendar momentos esporádicos, como uma tarefa a ser executada nos dias 4, 15 e 19 do mês. No caso, o preenchimento do campo “Dia” ficaria: 4, 15, 19.
Beta Was this translation helpful? Give feedback.
All reactions