crontab

Execute um Cron Job a cada minuto

Execute um Cron Job a cada minuto
Se você deseja executar um programa ou script em segundo plano no Linux, o cron job é muito importante. Com a ajuda de tarefas cron, você pode executar um programa ou script em segundo plano após um determinado intervalo de tempo.

Vamos dar uma olhada em alguns exemplos da vida real de tarefas cron.

Existem muitos outros usos de tarefas cron no Linux.

Neste artigo, vou mostrar como executar tarefas cron a cada minuto no Linux. Vou usar o Debian 9 Stretch para a demonstração. Mas você pode usar qualquer distribuição Linux moderna de sua escolha. Vamos começar.

Noções básicas do Crontab:

No Linux, você não precisa ser raiz a fim de executar tarefas cron. Você pode executar tarefas cron como qualquer usuário. Cada usuário no Linux pode usar um crontab arquivo para executar seu próprio conjunto de tarefas cron.

Por padrão, um usuário não tem um crontab arquivo no Linux. Você pode criar um crontab arquivo com o seguinte comando:

$ crontab -e

Se você estiver executando este comando pela primeira vez, deverá escolher um editor de texto da lista. Eu vou escolher nano, o padrão. Você pode escolher o que você gosta. Assim que terminar, pressione .

O crontab o arquivo deve ser criado (se ainda não estiver disponível) e aberto com seu editor de texto favorito.  Agora você pode adicionar seus próprios cron jobs no final deste arquivo e quando estiver satisfeito, basta salvá-lo e sair do editor de texto.

Sintaxe de execução de um comando a cada minuto:

A sintaxe de crontab arquivo é o seguinte:

minuto hora dayOfMonth mês dayOfWeek commandToRun

Aqui,

Para executar um commandToRun comando a cada minuto, você deve escrevê-lo no crontab arquivo da seguinte forma:

* * * * * commandToRun

Executando um trabalho Crob a cada minuto:

Agora que conhecemos as teorias, vamos adicionar um script simples cronômetro.sh para o crontab arquivo e veja como gerenciá-lo.

No cronômetro.sh script, só tenho as seguintes linhas de códigos. Tudo o que faz é criar um novo arquivo / home / shovon / bin / timer.registro (se ainda não existir) e anexa a saída do comando de data a ele.

Agora vamos adicionar o script ao nosso crontab e deixe-o funcionar a cada minuto com a seguinte linha:

* * * * * / home / shovon / bin / timer.sh

Depois de salvar o crontab arquivo e saia do editor de texto, o novo crontab arquivo deve ser instalado.

Após um minuto, um novo arquivo é cronômetro.registro é criado no diretório desejado como você pode ver na seção marcada da imagem abaixo.

De cronômetro.registro arquivo de log, é óbvio que o script cronômetro.sh corre a cada minuto.

Captura de erros dos Cron Jobs:

Para detectar erros de um cron job, você pode enviar os erros para um erro.registro arquivo e saídas normais para Acesso.registro arquivo por exemplo. Claro, você pode nomear os arquivos como quiser.

Para demonstrar isso, modifiquei meu script cronômetro.sh um pouquinho. Agora os erros são enviados para erro.registro arquivo no / home / shovon / bin diretório e as saídas são enviadas para Acesso.registro no / home / shovon / bin diretório.

No começo o / tmp / i_must_be_here arquivo não existe, então recebo o erro no erro.registro arquivo como você pode ver.

O Acesso.registro o arquivo está vazio no momento.

Agora vou criar o arquivo / tmp / i_must_be_here

E como você pode ver, a saída está no Acesso.registro arquivo agora.

Se desejar, você pode redirecionar a saída e os erros no mesmo arquivo da seguinte maneira:

Como você pode ver, as saídas STDIN e STDERR são enviadas para o Fora.registro Arquivo.

Certificando-se de que a execução do último trabalho foi concluída antes de executar o trabalho novamente:

Para que isso funcione, você pode criar um arquivo temporário logo após o início do trabalho e removê-lo antes de terminar. Então você pode verificar se o arquivo temporário existe antes de iniciar o trabalho. Em caso afirmativo, você pode sair do trabalho e executá-lo apenas quando o arquivo temporário não estiver disponível.

Este script simples faz exatamente isso.

Como você pode ver, o cronômetro.pid arquivo é criado.

Lendo o Acesso.registro arquivo prova que o cron job não é executado antes que o cron job anterior termine de ser executado. Como você pode ver, ele foi executado às 01:32:01 e da próxima vez deveria ter executado às 01:33:01, mas não. Em vez disso, funcionou às 01:35:01, cerca de 3 minutos depois.

Organizando as saídas do Cron Job para uma depuração fácil:

Você pode formatar as saídas para tornar seu cron job mais fácil de depurar.

Um exemplo de como isso pode ser feito é dado no seguinte script.

Como você pode ver, as saídas, erros e mensagens de sucesso são bem impressas no arquivo de log.

Você pode fazer coisas incríveis com cron jobs e scripts de shell. Eu demonstrei algumas das ideias aqui. Mas o céu é o seu limite. Sinta-se à vontade para experimentar todas as ideias que você tiver. Obrigado por ler este artigo.

Análise do mouse sem fio Microsoft Sculpt Touch
Recentemente li sobre o Microsoft Sculpt Touch mouse sem fio e decidi comprá-lo. Depois de usá-lo por um tempo, decidi compartilhar minha experiência ...
AppyMouse na tela Trackpad e ponteiro do mouse para tablets Windows
Os usuários de tablets costumam perder o ponteiro do mouse, especialmente quando costumam usar laptops. Os smartphones e tablets touchscreen vêm com m...
O botão do meio do mouse não funciona no Windows 10
O botão do meio do mouse ajuda você a percorrer longas páginas da web e telas com muitos dados. Se isso parar, você vai acabar usando o teclado para r...