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.
sudo /etc/init.d/cron status
sudo /etc/init.d/cron stop
sudo /etc/init.d/cron start
Para acessar o arquivo com os agendamentos é só rodar o comando
vim /etc/crontab
- 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
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)
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
- Todo minuto
- Toda hora
- Toda dia do mes
- Todos os meses do ano
- Todos os dias da semana
- 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
Para mostrar o conteúdo que tem dentro do crontab sem acessar o modo de edição é só executar o comando
crontab -l (listra)
0,15,30,45 * * * * comando
- Minuto 0,15,30,45
- Todas as horas
- Todas os dias do mes
- Todos os meses do ano
- Todos os dias da semana
Agendar um cron para deseja feliz natal
0 0 25 12 * echo "Feliz natal"
- Minuto zero
- Hora zero
- Dia 25
- Mes 12
- Qualquer dia da semana
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
- Sempe no minuto zero
- Das 8 horas até as 12 horas, das 13 horas até as 18 horas
- Todos os dias dos meses
- Todos os meses do ano
- De segunda a sexta