dois crons não estão funcionando simultaneamente?

dois crons não estão funcionando simultaneamente?
MAILTO=""
*/10 * * * *  /bin/bash /var/www/sym_monitor/sym_start.sh > /var/www/migrate/root_start.txt 2>&1
*/10 * * * *  /bin/bash /var/www/sym_monitor/stop.sh > /var/www/migrate/root_stop.txt 2>&1

Ambos são trabalhos dentro do cron executados em intervalos de 10 minutos às 17:30, o segundo começando e o primeiro 1735 começando, evitando a eliminação do primeiro trabalho por segundo antes de realmente começar.

O primeiro script consiste no seguinte código

#!/bin/bash
value=$(</var/www/sym_monitor/man.txt)


if [ "$value" == "true" ]; then

     ps -ef|grep sym |grep -v grep |awk '{ print $2 }'|sudo  xargs kill -9;

fi

O segundo script consiste no código a seguir.

#!/bin/bash
value=$(</var/www/sym_monitor/man.txt)

if [ "$value" == "true" ]; then

sleep 30;
cd /var/www/symmetric-ds-3.1.6/bin;
(sudo ./sym --port 8082 --server);

fi

O problema é que quando executo os dois scripts, infelizmente, sym_start.sh não está sendo executado. Mas quando eu removo o stop.sh e executo manualmente o script stop, o único script no cron está sendo executado corretamente. por que isso acontece? qualquer ideia?

Responder1

A descrição do seu crontab mostra que ambos serão executados ao mesmo tempo. Seu script inicial tem um sono de 30 segundos, imagino para tentar ajudar com o pedido. Se você deseja executar os dois trabalhos sequencialmente, você deve reescrevê-los como um único script que faz isso na ordem desejada. Talvez algo assim:

#!/bin/bash

value=$(</var/www/sym_monitor/man.txt)

if [ "$value" == "true" ]; then
    ps -ef|grep sym |grep -v grep |awk '{ print $2 }'|sudo  xargs kill -9;
fi
sleep 30;
if [ "$value" == "true" ]; then
    cd /var/www/symmetric-ds-3.1.6/bin;
    (sudo ./sym --port 8082 --server);
fi

informação relacionada