Como programar um comando para executar a cada 2 horas?

0

Eu quero rodar um pequeno arquivo jar de monitoramento a cada 2 horas na minha máquina Ubuntu.

java -jar mymonitoringtool.jar

Eu não sei como configurá-lo.

    
por user3243499 03.11.2018 / 14:22

2 respostas

1

Você pode configurar um crontab com a seguinte expressão para seus requisitos.

0 */2 * * * path/to/java -jar path/to/mymonitoringtool.jar &> path/to/monitor-$(date "+%Y%b%d-%H%M%S").log

Primeiro, você deve verificar se há alguma tarefa do cron executando crontab -l .

Se você ainda não tem tarefas cron, pode colocar a linha acima em um arquivo de texto (digamos my-cron-job.txt) e executar crontab my-cron-job.txt para ativá-lo. Você pode verificar se o trabalho foi adicionado executando crontab -l novamente.

Se você tiver tarefas cron existentes, será necessário executar crontab -e e editar o arquivo crontab. Isso exigirá que você trabalhe com um editor de linha de comando (vi, por padrão).

O daemon cron apenas define um número limitado de variáveis de ambiente, portanto é preferível especificar o caminho completo para o executável java. Você também precisará especificar o caminho completo para o arquivo JAR executável.

Estou assumindo que você deseja coletar a saída do comando java -jar , portanto, incluí um arquivo de log no comando. Os fluxos de saída e erro do comando serão redirecionados para esse arquivo de log, que será nomeado com um registro de data e hora (monitor-2018Nov03-200000.log, por exemplo).

Quando tudo estiver definido, você deverá monitorar o trabalho cron para a primeira ou duas execuções. Se tudo funcionar como você precisa, você pode deixá-lo funcionando.

Como referência externa, aqui está uma introdução sobre tarefas agendadas. Isso deve ajudá-lo a entender como o agendamento realmente funciona.

link

    
por 03.11.2018 / 15:10
1

o cron é o agendador interno de tarefas do Linux. Ele ajuda na programação de seu comando para ser executado em intervalo específico ou date_time.

type crontab -e on the terminal

add this line 0 */2 * * * path/to/java -jar path/to/mymonitoringtool.jar

save and exit

Sintaxe Crontab da seguinte forma

00 */2 * * * path/to/java -jar path/to/mymonitoringtool.jar

0th-minute every-2nd-hour every-day every-month every-weekday run-this-command

Para mais opções e informações: link

    
por 03.11.2018 / 20:30