Skip to content

Instantly share code, notes, and snippets.

@alexalannunes
Forked from MauricioAires/README.md
Created September 1, 2020 17:02
Show Gist options
  • Save alexalannunes/4cb5b5a84bd0f3b5ad4ca60788cdecef to your computer and use it in GitHub Desktop.
Save alexalannunes/4cb5b5a84bd0f3b5ad4ca60788cdecef to your computer and use it in GitHub Desktop.
Documentação sobre CRONTAB, tudo sobre o que, para que serve, variáveis e como utilizar.

CRONTAB

O que é o crontab

Traduzido do inglês-O utilitário de software cron é um agendador de tarefas baseado em tempo em sistemas operacionais de computador tipo Unix. Os usuários que configuram e mantêm ambientes de software usam o cron para agendar tarefas para serem executadas periodicamente em horários, datas ou intervalos fixos.

A maioria das distrubuições Linux já vem com o cron instalado e conficurado para verificar se o cron já está funcionando é só rodar o comando.

Verificar status do cron

sudo /etc/init.d/cron status

Parar serviço do cron

sudo /etc/init.d/cron stop

Iniciar o serviço do cron

sudo /etc/init.d/cron start

Como funciona a inserção de agendamentos

Para acessar o arquivo com os agendamentos é só rodar o comando

vim /etc/crontab

Parametros de agendamento

  • Minute (0 - 59)
  • Hour (0 - 23)
  • Day of month (1 - 31)
  • Month (1 - 12) OR jan,feb,mar,apr (abreviação das das primeiras letras da palavra em ingles)
  • Day of week (0 - 6) (Sunday=0 or 7) OR sun,mon-tue,wed,thu,fri,sat

Extrutura de uma agendamento

Minute - Hour - Day of month - Month - Day of Week - user name - command to de executed

Caso deseje que seja executado em todo intervalo de tempo é só utilizar um (*)

Exemplo caso deseje rodar um comando a cada 1 minuto

* * * * * root /comando

  • Todos os minutos
  • Todas as horas
  • Todos os dias do mes
  • Todos os meses
  • Todos os dias sa semana

Observação
Quando desejamos criar um comando para nosso porprio usuario é só usar o comando viw /etc/crontab mas caso deseje agendar o comando em outro usuario é só entrar com o outro usuario e acessar o terminal da mesma forma, ou usar o comando crontab -u username -e (edit)

Agendamento teste

Para editar o crontab e cadastrar um novo agendamento é só usar o comando
crontab -e
Assim que abrir o arquino na ultima linha de baixo você vai colocar o seguinte comando
* * * * echo "Rodando" >> /home/username/cron.log

  1. Todo minuto
  2. Toda hora
  3. Toda dia do mes
  4. Todos os meses do ano
  5. Todos os dias da semana
  6. Inserir no arquivo cron.log a palavra Rodando

🎉 Pronto o primeiro crontab foi cadastrado, agora é só verificar sa sua area de trabalho que já possui um arquivo com o texto rodando, e se atualizar a pagina a cada um minuto uma nova palavra foi inserida.

Observação
Para mostrar o conteudo do arquivo é só usar o comando cat nomearquivo.ext

Observação

Para mostrar o conteúdo que tem dentro do crontab sem acessar o modo de edição é só executar o comando
crontab -l (listra)

Exemplo 2 intervalo de 15/15 minutos

0,15,30,45 * * * * comando

  1. Minuto 0,15,30,45
  2. Todas as horas
  3. Todas os dias do mes
  4. Todos os meses do ano
  5. Todos os dias da semana

Exemplo 3 Feliz natal

Agendar um cron para deseja feliz natal

0 0 25 12 * echo "Feliz natal"

  1. Minuto zero
  2. Hora zero
  3. Dia 25
  4. Mes 12
  5. Qualquer dia da semana

Exemplo 4 Bom trabalho durante o expediente

0 08-12,13-18 * * 1-5

Observação
Para representar um intervalo utiliza o (-)Meio traço isso indica de até, por exemplo 08-12 significa das 8 horas as 12 horas equivale ao mesmo que 08,09,10,11,12, e o (,) Virgula significa um agrupamento por exeplo 08-12,13-14 significa das 8 horas até as 12 horas & das 13 horas até as 14 horas

  1. Sempe no minuto zero
  2. Das 8 horas até as 12 horas, das 13 horas até as 18 horas
  3. Todos os dias dos meses
  4. Todos os meses do ano
  5. De segunda a sexta
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment