crontab

Crontab no Linux

Crontab no Linux
Com o advento de novas tecnologias, queremos que tudo seja automatizado, incluindo nossos sistemas de computador. Por exemplo, como administrador do sistema, podemos querer que nosso backup seja executado todas as noites às 2h00. Então qual é o propósito dos computadores se temos que acordar diariamente às 2h e executar os comandos manualmente para iniciar o backup. Deve haver uma maneira que diga ao sistema para executar automaticamente um backup em um momento específico. Felizmente, o sistema operacional Linux oferece um utilitário cron que permite automatizar tarefas em um período específico.

Cron é um utilitário de linha de comando popular e eficaz, usado para agendar uma ampla gama de tarefas em um horário especificado sem interação do usuário. As tarefas agendadas são conhecidas como tarefas cron enquanto o crontab é a lista do arquivo que contém as tarefas cron.

Neste artigo, iremos explicar com vários exemplos de shows que você pode editar e usar o arquivo crontab para agendar tarefas no sistema Debian 10.

O Cron pode ser usado para automatizar tarefas nos seguintes cenários:

Sintaxe

É mais fácil trabalhar com o cron, uma vez que você entenda sua sintaxe. A sintaxe geral para usar o cron é:

* * * * / caminho / para / script.sh

Cada um dos campos corresponde ao seguinte:

Minuto (0-59) Hora (0-24) Dia_do_Mês (1-7) Mês_do_ano (1-12)
Comando Day_of_the_Week (0-6)

Instalando o Cron

Cron vem pré-instalado no Debian 10. No entanto, se ele estiver faltando em seu sistema, execute o seguinte comando para instalá-lo:

$ sudo apt install cron

Ver crontab

Para visualizar o arquivo crontab, use o seguinte comando:

$ crontab -l

Para visualizar o arquivo crontab de um determinado usuário, use o seguinte comando:

$ sudo crontab -u user -l

Editar 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, deverá 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 2h. Para fazer isso, você precisará adicionar a seguinte linha em seu arquivo crontab:

0 2 * * * / Documentos / backup.sh

Na janela acima, você pode adicionar seus cron jobs um por um. Uma vez feito isso, salve e saia do arquivo depois que todos os trabalhos do cron serão executados automaticamente em seu intervalo especificado.

Remover crontab

Para remover o arquivo crontab, digite o seguinte comando no Terminal:

$ crontab -r

Agora vamos ver uma série de exemplos de tarefas cron em uma máquina Linux.

1. Execute um cron job a cada minuto

Para executar um cron job a cada minuto, adicione a seguinte linha em seu arquivo crontab:

* * * * * / caminho / para / script.sh

2. Execute um cron job a cada 10 minutos

Para agendar um cron job para ser executado a cada 10 minutos, adicione a seguinte linha em seu arquivo crontab.

* / 10 * * * * / caminho / para / script.sh

3. Executar um cron job em meses específicos

Para agendar um cron job para ser executado em meses específicos e.g. Março, agosto, dezembro, adicione o cron job em seu arquivo crontab da seguinte maneira:

* * * janeiro, maio, agosto * / caminho / para / script.sh

4. Executar um cron job em dias selecionados

Se você deseja que seu cron job seja executado em dias selecionados, vamos supor que seja domingo e sexta-feira às 17h, ele deve ser parecido com o seguinte.

0 17 * * sol, sex / caminho / para / script.sh

5. Execute um cron job diariamente em um horário específico

Para agendar um cron job para ser executado diariamente em um horário específico, digamos às 3 da manhã, adicione esta linha em seu arquivo crontab.

0 3 * * * / caminho / para / script.sh

6. Executar um cron job em um dia específico

Para agendar um cron job para ser executado em um dia específico, digamos todos os domingos, adicione esta linha em seu arquivo crontab.

0 0 * * SUN / caminho / para / script.sh

O trabalho será executado às 00:00 todos os domingos.

7. Execute várias tarefas em um único cron job

Para agendar várias tarefas em um único cron job, adicione todos os scripts em seu arquivo crontab, separando-os com um ponto e vírgula.

* * * * * / caminho / para / script1.sh; / caminho / para / script2.sh

8. Execute um cron job em cada dia da semana

Para agendar um cron job para executar todos os dias da semana, de segunda a sexta-feira, você precisará adicionar esta linha em seu arquivo crontab.

0 0 * * 1-5 / caminho / para / script.sh

O trabalho será executado às 00:00 em todos os dias da semana.

9. Execute um cron job duas vezes por dia

Para agendar um trabalho para ser executado duas vezes por dia e.g. às 6h e 15h, você precisará adicionar esta linha em seu arquivo crontab:

0 6,15 * * * / caminho / para / script.sh

10. Execute um cron job a cada hora

Para agendar um cron job para ser executado a cada hora no minuto 0, você precisará adicionar esta linha em seu arquivo crontab:

0 * * * * / caminho / para / script.sh

Por exemplo, se o horário atual for 14h, o trabalho será executado às 15h, 16h e assim por diante.

11. Execute um cron job a cada 3 horas

Para agendar um cron job para ser executado a cada 3 horas no minuto 0, você precisará adicionar esta linha em seu arquivo crontab:

0 * / 3 * * * / caminho / para / script.sh

Por exemplo, se o horário atual for 14h, o trabalho será executado às 17h, 20h e assim por diante.

12. Execute o cron job às 16h do primeiro dia de cada mês

Para agendar um trabalho para ser executado no primeiro dia de cada mês às 16h, você precisará adicionar esta linha em seu arquivo crontab:

0 16 1 * * / caminho / para / script.sh

Strings em Crontab

Você também pode usar as seguintes strings em vez dos longos comandos repetitivos.

@ hourly- Executar cron job a cada hora i.e. “0 * * * *“
@ midnight- Executar cron job todos os dias i.e. “0 0 * * *“
@ diário- mesmo que meia-noite
@ semanal- Execute cron job toda semana, i.e. “0 0 * * 0“
@ mensal- Executar cron job todo mês i.e. “0 0 1 * *“
@ year- Executar cron job todos os anos i.e. “0 0 1 1 *“
@anual- mesmo que @anualmente
@ reboot- Executar cron job a cada inicialização

Por exemplo, para executar o cron job todos os dias no primeiro minuto e na primeira hora, adicione a seguinte linha:

@daily / path / to / script.sh

Por exemplo, para executar o cron job sempre que o servidor for reinicializado:

@reboot / path / to / script.sh

Isso é tudo que há para fazer! Neste artigo, aprendemos como automatizar várias tarefas usando crontab no sistema Debian. Usando os exemplos acima, você pode agendar qualquer tipo de trabalho para iniciar sem qualquer interação do usuário.

Como desenvolver um jogo no Linux
Uma década atrás, poucos usuários de Linux preveriam que seu sistema operacional favorito um dia seria uma plataforma de jogos popular para videogames...
Portas de código aberto para motores de jogos comerciais
Recriações gratuitas, de código aberto e de mecanismo de jogo de plataforma cruzada podem ser usadas para jogar jogos antigos, bem como alguns dos tít...
Melhores jogos de linha de comando para Linux
A linha de comando não é apenas sua maior aliada ao usar o Linux - ela também pode ser uma fonte de entretenimento porque você pode usá-la para jogar ...