O Cron é um utilitário para agendar tarefas no sistema operativo Linux. Permite-lhe executar scripts ou comandos automaticamente em determinadas alturas, intervalos ou eventos.
Para utilizar o Cron, é necessário criar um ficheiro crontab
que contém uma lista de tarefas e intervalos de tempo em que estas devem ser executadas. Cada tarefa no crontab é uma cadeia de caracteres que consiste em cinco campos separados por espaços:
* * * * * command_to_execute
- - - - -
| | | | |
| | | | +----- day of the week (0 - 6) (Sunday = 0 or 7)
| | | +------- month (1 - 12)
| | +--------- day of the month (1 - 31)
| +----------- hour (0 - 23)
+------------- minutes (0 - 59)
O *
representa qualquer valor, por exemplo, se o campo minutos contiver um *
, a tarefa será executada a cada minuto. Se quiser definir um valor específico para um campo, por exemplo, todos os dias às 3 da manhã, deve escrever 0 3 * * * * *
.
Para criar ou modificar um ficheiro crontab, utilize o comando crontab -e. Cada utilizador pode ter o seu próprio ficheiro crontab, bem como o ficheiro de sistema /etc/crontab
, que contém tarefas que são executadas como utilizador root.
Existe um comando cronjob
que permite executar tarefas dentro de contentores Docker. Funciona de forma semelhante ao crontab
, mas as tarefas podem ser executadas dentro do contentor em vez do sistema anfitrião.
Para começar a usar o Cron no Linux, siga estes passos:
1. abra um terminal e digite o comando crontab -e
. Isto irá abrir o ficheiro crontab para o utilizador atual.
2. Adicione uma tarefa ao ficheiro crontab de acordo com o formato do campo descrito acima. Por exemplo, se quiser executar o script every_hour.sh
a cada hora, adicione a linha 0 * * * * * * * /path/to/every_hour.sh
.
3. Salve suas alterações e feche o arquivo.
4. Verifique se a tarefa foi adicionada ao crontab usando o comando crontab -l
. Ele exibirá uma lista de todas as tarefas adicionadas ao crontab
.
5. Verifique se a tarefa está a ser executada conforme programado utilizando o comando tail -f /var/log/syslog
. Verá a saída relacionada com a execução da tarefa.
6. Se quiser remover uma tarefa da crontab
, use o comando crontab -r
.
Há alguns pontos importantes a ter em conta:
crontab
. Mas se quiser executar um script, certifique-se de que ele tem permissões de execução(chmod +x /caminho/para/script.sh
).sudo crontab -e
para abrir o ficheiro crontab
para o utilizador root.Note que a hora especificada no crontab
corresponderá à hora do servidor que está a executar o Cron. Se estiver a utilizar um servidor remoto, certifique-se de que a hora no servidor está configurada corretamente.