Como Configurar Cron Jobs no Linux (VPS)
Como configurar Cron Jobs no Linux (VPS) pode fazer com que economize muito tempo.
Muitas pessoas realizam tarefas manuais no Linux, como por exemplo enviar um email com a quantidade de disco utilizada para si mesmo, arquivar logs, deletar diretórios e arquivos temporários, etc. Mas por que perder tempo com tarefas que podem ser feitas automaticamente? É para isso que existe o Cron, um agendador e executor de tarefas. Administradores de sistema usam tarefas cron (também conhecidas como cron jobs) para agendar tarefas recorrentes, como comandos ou scripts de shell, para rodar periodicamente em dias, horários e períodos previamente estabelecidos. Este tutorial vai ensinar como configurar Cron Job no Linux.
O que você vai precisar
Para aprender como configurar Cron Jobs no Linux você vai precisar de:
- Acesso SSH ao seu serviço de VPS anual
1° Passo — Entender a Sintaxe
O serviço Cron usa o arquivo Crontab (tabela Cron) que geralmente é localizado no diretório /etc/crontab, /var/cron/tabs ou /var/spool/cron/. Cada linha no Crontab representa uma tarefa agendada. É só rodar este comando no terminal para visualizar todas as tarefas agendadas:
crontab -l
Se o arquivo estiver vazio, não se preocupe, significa apenas que você não tem nenhuma tarefa agendada. Um exemplo de cron job seria:
0 * * * * /usr/local/cpanel/scripts/cpbackup
Neste exemplo, um script de backup do cPanel é executado de hora em hora. Como você pode ver, a linha consiste de 6 campos:
┌───────────── min (0 - 59) │ ┌────────────── hora (0 - 23) │ │ ┌─────────────── dia do mês (1 - 31) │ │ │ ┌──────────────── mês (1 - 12) │ │ │ │ ┌───────────────── dia da semana (0 - 6) (0 a 6 representa │ │ │ │ │ de domingo a sábado, ou use nomes; │ │ │ │ │ 7 também representa domingo) │ │ │ │ │ 0 1 * * * /usr/local/cpanel/scripts/cpbackup
Se ainda tiver dúvidas confira as páginas do manual do Cron executando o comando man cron em seu console.
2° Passo — Criar a Cron job
Edite o crontab com o comando:
crontab -e
IMPORTANTE! Não edite o arquivo crontab diretamente, sempre execute o comando crontab -e.
Agora faça a lista de scripts que devem ser executados em algum momento específico. Use a estrutura fornecida no Passo 1. Aqui temos alguns exemplos:
- Executar em períodos recorrentes:
-
0 0 1 * * – no primeiro dia de cada mês
-
0 0 * * 0 – uma vez por semana
-
0 0 * * * – uma vez por dia à meia-noite
-
- Executar em uma hora/dia específica:
-
20 22 3 * * – no terceiro dia de cada mês às 22:20
-
*/30 * * * * – a cada 30 minutos
-
0 8 * * 1,2,3,4,5 de segunda a sexta às 08:00
-
Após o agendamento não esqueça de colocar o caminho para o seu script. Você pode gerar tabelas no site http://crontab-generator.org
Quando concluído, feche a crontab com o comando:
:wq
Conclusão
Agora você já sabe como configurar Cron Jobs no Linux, automatizar a execução de seus scripts e comandos no Linux e como especificar a hora, data e recorrência.
Comentários
October 27 2020
Excelente conteúdo sobre CRON que encontrei em pt-br explicando em detalhes o comando e sintaxe. Parabéns a autora.
November 04 2020
Agradecemos o elogio, Augusto! Valeu por acessar o nosso blog! :D
July 09 2021
O exemplo de executar a cada hora está errado, a expressão 0 1 * * * executa todo dia às 1a.m. pra executar a cada hora o certo é: 0 * * * * ou @hourly
July 09 2021
Obrigado pela dica, Marcus! Vamos corrigir ali no artigo :D
March 29 2022
Poderia criar um tutorial para quem usa WordPress mostrando como cria uma tarefa Cron no cPanel pois os que eu achei na internet são muito confusos pois cada site coloca um código diferente pra ser usado na area "COMANDO" no final !
April 01 2022
Olá Leo, já temos um tutorial sobre o assunto. Você pode conferi-lo aqui!?