iniciar novo script se o último script não for executado em minutos

0

Eu tenho muitas entradas na guia cron para executar o script a cada meia hora (mais de 50 scripts).

A cada meia hora, todo o script será executado simultaneamente para que a carga do servidor aumente devido ao início de mais de 50 processos por vez.

Para superar eu configurei o crontab que executará um script de shell e neste script de shell todo script será executado um por um.

por exemplo allscript.sh será executado a partir do crontab

allscript.sh

#!/bin/bash
a.sh
b.sh
c.sh
d.sh
.
.
.
ay.sh

Mas na execução um a um, se um script demorar muito tempo (5 minutos), outro script terá que aguardar por um tempo específico. Então, eu quero definir este script se qualquer processo demorar mais de um minuto, em seguida, automaticamente a execução de outro script será iniciado.

    
por LOKESH 10.11.2017 / 10:31

1 resposta

0

Use uma fila de trabalhos. Provavelmente, o que você fará é configurar uma fila de tarefas com um thread por núcleo. Isso permite que todos os seus trabalhos façam fila em uma operação + se um trabalho levar mais tempo do que outros, os outros estarão em execução em outros tópicos.

Existem muitas maneiras de conseguir isso.

Aqui estão algumas pesquisas que podem ajudar você.

fila de trabalhos do ubuntu

fila de trabalhos bash

    
por 10.11.2017 / 14:01