Ir para o conteúdo
  • Materiais
    • Ebook – Ubuntu Linux
    • Ebook – Como Usar Virtualbox
    • Ebook – Kali Linux – Guia de Instalação e Configuração de um Ambiente para Hacking
    • Ebook – O Guia Rápido Sobre Servidor WEB com Apache
    • Ebook – Como Criar Um Servidor Proxy Com Squid
    • Ebook – Apache vs Nginx – O confronto entre os dois servidores web mais utilizados no Linux
    • Ebook – Firewall Com pfSense – Guia para Iniciantes
    • Ebook – Amazon EC2 – Como Criar Seu Primeiro Servidor Na Nuvem
    • Ebook – 10 Shell Script para ADM Linux
  • Sobre
  • Cursos
Menu
  • Materiais
    • Ebook – Ubuntu Linux
    • Ebook – Como Usar Virtualbox
    • Ebook – Kali Linux – Guia de Instalação e Configuração de um Ambiente para Hacking
    • Ebook – O Guia Rápido Sobre Servidor WEB com Apache
    • Ebook – Como Criar Um Servidor Proxy Com Squid
    • Ebook – Apache vs Nginx – O confronto entre os dois servidores web mais utilizados no Linux
    • Ebook – Firewall Com pfSense – Guia para Iniciantes
    • Ebook – Amazon EC2 – Como Criar Seu Primeiro Servidor Na Nuvem
    • Ebook – 10 Shell Script para ADM Linux
  • Sobre
  • Cursos

Crontab: Entenda Como Agendar Tarefas No Linux De uma Vez Por Todas

  • pedrodelfino
crontab como agendar no linux

Compartilhe este post

Share on facebook
Share on linkedin
Share on twitter
Share on email

Fazer a entrega diária de um documento ou realizar determinados processos no fim do expediente são tarefas comuns na rotina de trabalho. Contudo, essas atividades corriqueiras, embora importantes, são muito passíveis de esquecimento — é por isso que o Linux disponibiliza a ferramenta Crontab.

O Crontab nos permite agendar as tarefas para que elas sejam executadas automaticamente. O usuário pode, por exemplo, configurar o sistema para que um lembrete seja impresso na tela com a frequência de dias e horários que ele quiser. O mesmo pode ser feito para agendar scripts e comandos do Linux.

Quer saber mais sobre o Crontab e sua utilidade para ambientes de trabalho? Confira, neste artigo, como funciona o serviço e suas configurações, bem como exemplos práticos de uso.

crontab como agendar no linux

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.

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.

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.

Barra

A barra frontal (forward slash, do inglês), por sua vez, especifica a etapa dos valores. Supondo que seja inserido o valor 0-55/5 (ou */5), a tarefa será executada a cada cinco minutos.

Hash

Assim como no ambiente de programação, o símbolo hash (#) é usado para adicionar comentários em uma instrução. Deste modo o conteúdo não será processado pela ferramenta.

Fácil de entender, não é mesmo? Por meio dessa sintaxe é possível criar diversos tipos de agendamento pelo Cron, conforme os exemplos que veremos a seguir.

5 exemplos de uso do Crontab

Agora que já falei sobre a função do Contrab de gerar arquivo para o Cron e como fazer as configurações de agendamento, vejamos 5 exemplos de como ele pode ser usado para desempenhar tarefas comuns.

1. Exibição das tabelas do Cron

Usando o comando -l, o arquivo Crontab do usuário será listado no terminal.

crontab -l

55 * * * 5 /bin/sh /home/root/bin/backup.sh

2. Deletar todas as tarefas

Para remover todas as tarefas agendadas no arquivo Crontab do usuário, liste-as usando o comando -l e, depois, use o -r:

crontab -l

55 * * * 5 /bin/sh /home/root/bin/backup.sh

crontab -r

crontab -l

no crontab for root

4. Editar o arquivo Crontab

Quer editar um arquivo Crontab? Utilize o comando crontab -e. Automaticamente, um editor será aberto.

# crontab -e

31 06 * * 4 /bin/sh /home/root/bin/alerta-user

~

~

/tmp/crontab.8fjist

5. Executar o script usando PHP

O comando “crontab -e” pode ser acionado, inclusive, para executar um script usando PHP. Para executar “script-exemplo.php” a cada uma hora, faça o seguinte:

# crontab -e

00 * * * * /usr/local/bin/php /home/root/script-exemplo.php

Observação: para que esta dica funcione é necessário ter acesso ao shell do Linux. Se você estiver navegando em um servidor limitado ao FTP para salvar documentos, o script deverá ser executado usando uma URL — para aprender como fazê-lo, recomendo a leitura deste artigo.

Considerando essas e outras possibilidades do Crontab, conclui-se que o serviço é bastante útil para prevenir-se a falhas e, de quebra, automatizar tarefas que tomam atenção e tempo dos colaboradores.

Após aprender sobre tudo o que abordei no artigo, o quanto você acredita que o Crontab será útil para a sua carreira?

Sempre lembrando que a oportunidade de se aprimorar no sistema Linux (significativamente) está a um clique. Acesse agora mesmo uma aula de dentro da formação completa, Profissionais Linux e descubra como dominar o sistema.

Compartilhe este post

Share on facebook
Share on linkedin
Share on twitter
Share on email
PrevAnteriorOpenStack: Tudo Sobre A Mais Poderosa Ferramenta De Cloud Computing
PróximoFreeNAS – Descubra Aqui Os Seus Recursos Incríveis Para Você Criar Um Servidor NASNext

Artigos Recentes

Ext4 versus Btrfs: Qual é o Melhor Sistema de Arquivos No Linux?

Escolher o sistema de arquivos certo é crucial para a performance e confiabilidade de um sistema operacional. Entre os sistemas mais utilizados no Linux, Ext4

pedrodelfino

Sockets: Tudo o que Você Precisa Saber

Se você é um administrador de sistemas iniciante e já se perguntou como os dados são transferidos na internet, você não está sozinho. A solução

pedrodelfino
"Um dos projetos que criei já ajudou mais de 110 mil pessoas a aprender LINUX ..."
pedro Delfino
FUNDADOR DO PROFISSIONAIS LINUX

Sobre Pedro Delfino

FUNDADOR DO PROFISSIONAIS LINUX​

Eu sou Pedro Delfino que durante os últimos 18 anos estive envolvido em implantações de soluções de TI utilizando LINUX, enquanto estava á frente de uma equipe de TI.

Fundador do Profissionais Linux que hoje já conta com mais de 2100 alunos, fui o responsável por diversos projetos de sucesso, todos eu sempre foquei o resultado em primeiro lugar, ou seja, sempre quando crio uma nova solução com Linux que será implantada estou procurando um objetivo especifico.

quero acessar agora

MENU

  • Cursos
  • Materiais
  • Blog
  • Contato

redes SOCIAIS

Facebook-f Instagram

Aprenda a dominar o Linux de uma vez por todas

QUERO MINHA CÓPIA GRÁTIS

Aprenda a dominar o Linux de uma vez por todas