Cron é um utilitário de linha de comando eficaz e popular usado para agendar uma ampla gama de tarefas em um horário especificado sem interação do usuário. As tarefas programadas são conhecidas como trabalhos de Cron, enquanto o Crontab é a lista do arquivo que contém os trabalhos Cron.
Neste artigo, explicaremos com vários exemplos de programas que você pode editar e usar o Arquivo Crontab para agendar tarefas no Sistema Debian 10.
Cron pode ser usado para automatizar tarefas nos seguintes cenários:
Sintaxe
É mais fácil trabalhar com Cron, uma vez que você entende sua sintaxe. A sintaxe geral para usar Cron é:
* * * */caminho/para/script.sh
Cada um dos campos corresponde ao seguinte:
Minuto (0-59) hora (0-24) DIA_OF_THE_MONTH (1-7) MONDS_OF_THE_YEAR (1-12)
Day_of_the_week (0-6) comando
Instalando Cron
Cron vem pré -instalado no Debian 10. No entanto, se estiver faltando no seu sistema, execute o seguinte comando para instalá -lo:
$ sudo apt install cron
Veja Crontab
Para visualizar o arquivo Crontab, use o seguinte comando:
$ CRONTAB -L
Para visualizar o arquivo crontab de um usuário em particular, use o seguinte comando:
$ sudo crontab -u usuário -l
Edite Crontab
Para editar o arquivo crontab do usuário atual:
$ CRONTAB -E
Para editar o arquivo crontab de um usuário específico:
$ sudo crontab -u user
Se você estiver editando o Arquivo Crontab pela primeira vez, você será solicitado a escolher um editor:
Depois de selecionar o editor, a seguinte janela aparecerá.
Por exemplo, você deseja executar um script de backup chamado “Backup.SH ”Localizado no Diretório de Documentos diariamente às 2:00. Para fazer isso, você precisará adicionar a seguinte linha no seu arquivo Crontab:
0 2 * * * /documentos /backup.sh
Na janela acima, você pode adicionar seus trabalhos cron um por um. Uma vez feito, salve e saia do arquivo depois que todos os trabalhos do Cron serão executados automaticamente em seu intervalo especificado.
Remova Crontab
Para remover o arquivo Crontab, insira o seguinte comando no terminal:
$ CRONTAB -R
Agora vamos passar por uma série de exemplos de trabalhos Cron em uma máquina Linux.
Execute um trabalho de Cron a cada minuto
Para executar um trabalho de cron a cada minuto, adicione a seguinte linha no seu arquivo Crontab:
* * * * */caminho/para/script.sh
Execute um trabalho de Cron após a cada 10 minutos
Para agendar um trabalho de cron para executar a cada 10 minutos, adicione a seguinte linha no seu arquivo Crontab.
*/10 * * * */caminho/para/script.sh
Faça um trabalho de Cron em meses específicos
Para agendar um trabalho de cron para executar em meses específicos e.g. Março, agosto, dezembro, adicione o trabalho Cron em seu arquivo Crontab da seguinte maneira:
* * * Jan, maio, agosto */path/to/script.sh
Execute um trabalho de Cron em dias selecionados
Se você deseja que seu trabalho de Cron seja executado em dias selecionados, suponhamos domingo e sexta às 17h, deve parecer o seguinte.
0 17 * * sol, sex/caminho/para/script.sh
Faça um trabalho de Cron diariamente em um horário específico
Para agendar um trabalho de cron para executar diariamente em um horário específico, digamos às 3 da manhã, adicione esta linha no seu arquivo crontab.
0 3 * * */caminho/para/script.sh
Faça um trabalho de Cron em um dia específico
Para agendar um trabalho de cron para executar em um dia específico, digamos todos os domingos, adicione esta linha no seu arquivo Crontab.
0 0 * * sol/caminho/para/script.sh
O trabalho será executado às 00:00 todos os domingos.
Execute várias tarefas em um único trabalho de cron
Para agendar várias tarefas em um único trabalho de cron, adicione todos os scripts no seu arquivo crontab, separando -os com um semicolon.
* * * * */caminho/para/script1.sh; /caminho/para/script2.sh
Executar um trabalho de Cron em todo Dia da semana
Para agendar um trabalho de cron para executar todos os dias da semana, de segunda a sexta.
0 0 * * 1-5/caminho/para/script.sh
O trabalho será executado às 00:00 em todos os dias da semana.
Execute um trabalho de Cron duas vezes por dia
Para agendar um trabalho para executar duas vezes ao dia e.g. Às 6h e 15h, você precisará adicionar esta linha ao seu arquivo Crontab:
0 6,15 * * */caminho/para/script.sh
Execute um trabalho de Cron a cada hora
Para agendar um trabalho de cron para executar a cada hora no minuto 0, você precisará adicionar esta linha ao seu arquivo crontab:
0 * * * */caminho/para/script.sh
Por exemplo, se o horário atual for 14h, o trabalho será executado às 15:00, 16:00 e assim por diante.
Execute um trabalho de Cron após cada 3 horas
Para agendar um trabalho de cron para executar após cada 3 horas no minuto 0, você precisará adicionar esta linha ao seu arquivo Crontab:
0 */3 * * */caminho/para/script.sh
Por exemplo, se o horário atual for 14h, o trabalho será executado às 17:00, 20:00 e assim por diante.
Execute o trabalho de Cron às 16:00 no primeiro de cada mês
Para agendar um trabalho para executar o dia primeiro de cada mês às 16:00, você precisará adicionar esta linha ao seu arquivo Crontab:
0 16 1 * */caminho/para/script.sh
Strings em Crontab
Você também pode usar as seguintes strings, em vez dos comandos repetitivos longos.
@hourly- executar um trabalho de cron a cada hora eu.e. “0 * * * *“
@Midnight- Run Cron Job todos os dias eu.e. “0 0 * * *“
@Daily- Igual ao meia-noite
@Weekly- Run Cron Job toda semana, eu.e. “0 0 * * 0“
@Monthly- Run Cron Job todo mês eu.e. “0 0 1 * *“
@anualmente- execute o trabalho de cron todos os anos eu.e. “0 0 1 1 *“
@anualmente- o mesmo que @analmente
@reiniciar o trabalho Cron em cada inicialização
Por exemplo, para executar o trabalho de Cron todos os dias no primeiro minuto e a primeira hora, adicione a seguinte linha:
@Daily/Path/to/script.sh
Por exemplo, para executar o trabalho Cron sempre que o servidor é reiniciado:
@reboot/path/to/script.sh
Isso é tudo o que há para isso! Neste artigo, aprendemos a automatizar várias tarefas usando Crontab no sistema Debian. Ao usar os exemplos acima, você pode agendar qualquer tipo de trabalho para iniciar sem qualquer interação do usuário.