Como agendar um trabalho de Crontab a cada hora

Como agendar um trabalho de Crontab a cada hora

Às vezes, executar a mesma tarefa repetidamente pode se tornar tediosa. Para automatizar esta tarefa em vez de envolver a assistência de humanos, os cronjobs estão agendados. Freqüentemente, no Linux, o usuário precisa executar vários scripts ao mesmo tempo, o que se torna difícil de conseguir reduzir a carga de trabalho do usuário para executar a mesma tarefa repetidamente. Cron é um utilitário que nos permite agendar as tarefas de acordo com nossas necessidades. Cron é um utilitário embutido que é fornecido pelo Linux. Não precisamos instalá -lo; Simplesmente agendamos as tarefas usando alguns comandos e arquivos. Cronjob salva o tempo do usuário, permitindo que eles gerenciem sua importante tarefa em vez de repetir a mesma tarefa repetidamente.

Se quisermos enviar os e -mails para nossos clientes ou clientes toda semana, em vez de executá -lo manualmente, podemos automatizar essa tarefa criando um Cronjob. É um tipo de utilidade que funciona silenciosamente no back -end, mas não envolve nenhuma interação humana com ele. É um arquivo de texto simples que inclui os comandos que precisam ser executados e o tempo em que deve ser executado.

Usos de Cronjob

O Cronjob é usado para gerenciar as tarefas de banco de dados, como obter backups diariamente e gerenciar a manutenção do sistema, agendando um Cronjob. Também é útil para a exclusão de arquivos de log e limpar os arquivos de cache. Existem muitos outros trabalhos que o Cronjob pode executar.

Sintaxe:

A seguir, a sintaxe para definir um Cronjob:

* * * * * comando


O asterisco é usado para indicar o tempo em que o comando é executado como o minuto que varia de 0 a 59, uma hora que varia de 0 a 23, pois gerencia uma notação de 24 horas e dias que variam de 1 a 31, meses que variam de 1 a 12 e dia da semana de 0 a 6. O comando pode ser tudo o que você deseja que seu sistema automatize como criar um backup ou excluir arquivos, etc.

Exemplo: Criando um novo cronjob horário

Vamos criar um trabalho que seja executado a cada hora. Para isso, primeiro criamos um novo arquivo no diretório inicial. Não é necessário criar um arquivo no diretório doméstico. Podemos criá -lo em qualquer lugar do sistema. Mas para isso, devemos passar o caminho junto com o nome do arquivo. Para criar um novo arquivo Bash, escrevemos o seguinte comando:

Linux@linux-virtualbox: ~ $ nano cronjob.sh


Neste comando, criamos um arquivo chamado "Cronjob" com um ".Extensão sh ”. Modificamos esse arquivo usando o editor de texto Nano escrevendo um comando de eco com uma mensagem fictícia. Depois disso, salvamos e fechamos o arquivo. Como podemos ver na ilustração a seguir, criamos um novo arquivo chamado “Cronjob.sh ”


Após a criação do arquivo, agora abrimos o terminal novamente, onde escrevemos o comando para iniciar o Cronjob. Agora executamos o seguinte comando:

Linux@linux-virtualbox: ~ $ sudo systemctl start cron


Depois de executar o comando fornecido, ele pede para inserir a senha. Depois de entrar na senha, ela inicia o Cronjob. Uma coisa a lembrar é que não exibirá nada; simplesmente sai do comando sem gerar nenhum erro.

Linux@linux-virtualbox: ~ $ sudo systemctl start cron


Agora, vamos verificar o status do cron, esteja funcionando ou não. Executamos outro comando que exibe o status do Cronjob e se está ativo ou não.

Linux@linux-virtualbox: ~ $ sudo systemctl status cron


Depois de executar o comando anterior, obtemos a saída com um status ativo.


Agora, vamos executar o arquivo Crontab usando o comando "Crontab -e", no qual "-e" é a indicação de editar o arquivo Crontab em qualquer um dos editores. Editamos o arquivo Crontab usando o editor Nano.

Linux@linux -virtualbox: ~ $ Crontab -e


Ao executar isso, abrimos o arquivo Crontab, no qual escrevemos um comando para executar o arquivo a cada hora. O primeiro zero indica que o “cronjob.O arquivo SH ”é executado após cada hora, que é salva na pasta“ Home ”do sistema chamado“ Linux ”.


Agora, fechamos o arquivo pressionando a tecla "Ctrl+X". Depois de fechá -lo, obtemos a saída que indica a instalação de Crontab, como mostrado no seguinte snippet:

$ CRONTAB -E



Vamos agora verificar se o arquivo é executado ou não. Para verificar, apenas escrevemos o seguinte comando simples:

Linux@linux -virtualbox: ~ $ sudo grep -a “cronjob.sh ”/var/log/syslog


No comando mencionado anteriormente, Grep é o formulário abreviado para “impressão regular de expressão regular”, que é usada para pesquisar o texto ou o comando que é escrito em qualquer arquivo. No nosso caso, queremos encontrar o comando Cronjob que escrevemos no “Cronjob.Arquivo SH "onde" -a "indica a linha que deve ser lida no" Cronjob.arquivo sh ”.

Depois de executar o comando fornecido, obtemos a seguinte saída. Como podemos ver, primeiro pede ao usuário que insira a senha do sistema para verificar se somos um administrador ou não, já que os Cronjobs são gerenciados apenas pelo administrador. No Linux, pode haver mais de um administrador de cada vez. Depois de inserir a senha, obtemos esta saída na qual nosso “Cronjob.SH ”é executado três vezes nos 14º de dezembro.

Conclusão

Realizar repetidamente a mesma tarefa pode ser agitada para gerenciar por um administrador. Então, para sua automação, Cronjob é introduzido. Hoje, nosso foco principal está no Cronjob. Nós apresentamos você ao Cronjob, como os trabalhos estão agendados no Cronjob e como gerenciá -los. Explicamos o conceito de um cronjob junto com um exemplo em que criamos um cronjob que é executado após cada hora. Para entender melhor, você pode criar o seu cronjob desejado.