Vamos dar uma olhada em alguns dos exemplos da vida real de empregos em Cron.
Existem muitos outros usos de empregos em Cron no Linux.
Neste artigo, mostrarei como administrar o Cron Jobs a cada minuto no Linux. Eu estarei usando o Debian 9 Stretch para a demonstração. Mas você pode usar qualquer distribuição moderna do Linux de sua escolha. Vamos começar.
No Linux, você não precisa ser raiz Para executar empregos de Cron. Você pode executar trabalhos de cron como qualquer usuário. Todo usuário no Linux pode usar um Crontab arquivo para executar seu próprio conjunto de trabalhos de 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, deve ser solicitado a escolher um editor de texto na lista. Eu vou escolher Nano, o padrão. Você pode escolher o que você gosta. Depois de terminar, pressione .
O Crontab O arquivo deve ser criado (se não estiver disponível) e aberto com seu editor de texto favorito. Agora você pode adicionar seus próprios trabalhos de cron no final deste arquivo e depois de feliz, salve -o e saia do editor de texto.
Sintaxe de executar um comando a cada minuto:
A sintaxe de Crontab O arquivo é o seguinte:
hora minuciosa dia do mês de dia da semana comando
Aqui,
Para executar um CommandTorun comandar cada minuto, você deve escrever no Crontab Arquivo o seguinte:
* * * * * CommandTorun
Executando um trabalho de Crob a cada minuto:
Agora que conhecemos as teorias, vamos adicionar um script simples cronômetro.sh para o Crontab Arquive e veja como gerenciar.
No cronômetro.sh Script, eu 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 existe) e anexa a saída do comando de data.
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 saída do editor de texto, o novo Crontab O arquivo deve ser instalado.
Depois que um minuto é passado, um novo arquivo é cronômetro.registro é criado no diretório desejado, como você pode ver na seção marcada da captura de tela abaixo.
De cronômetro.registro arquivo de log, é óbvio que o script cronômetro.sh corre a cada minuto.
Capturando erros dos trabalhos de Cron:
Para capturar erros de um trabalho de Cron, você pode enviar os erros para um erro.registro arquivo e saídas normais para acesso.registro arquivo, por exemplo. Claro que você pode nomear os arquivos o que quiser.
Para demonstrar isso, modifiquei meu script cronômetro.sh um pouco. 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.
A princípio /tmp/i_must_be_here O 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 quiser, você pode redirecionar a saída e os erros no mesmo arquivo da seguinte maneira:
Como você pode ver, as saídas de stdin e stderr são enviadas para o fora.registro arquivo.
Certificando -se de que o último trabalho terminou de correr 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. Se isso acontecer, você pode sair do trabalho e executar o trabalho somente quando o arquivo temporário não estiver disponível.
Este script simples faz exatamente isso.
Como você pode ver, o cronômetro.PID o arquivo é criado.
Lendo o acesso.registro Arquivo prova que o trabalho de Cron não é executado antes do trabalho anterior do Cron Job terminar. 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 os resultados do trabalho de cron para facilitar a depuração:
Você pode formatar muito bem as saídas para facilitar o seu trabalho de cron de depuração.
Um exemplo de como isso pode ser feito é fornecido no script a seguir.
Como você pode ver, as saídas, erros e mensagens de sucesso são bem impressos no arquivo de log.
Você pode fazer coisas incríveis com trabalhos Cron e scripts de shell. Eu demonstrei algumas das idéias aqui. Mas o céu é o seu limite. Sinta -se à vontade para experimentar qualquer idéia que você tenha. Obrigado por ler este artigo.