Shell_exec do script criado dinamicamente com mais

1

Eu estou tentando usar Shell_exec para executar um script que é dinamicamente criado e armazenado em uma variável php. Aqui está o roteiro até agora.

{ curl -fsS --retry 3 https://hc-ping.com/same-unique-id-here ; \
echo "name.of.php.file.here STARTED for id # $state_id" ; \
php "/path/to/my.file.php" -i 2 -h prod 2>&1 | tee -a /path/to/log/files/my.file.log || \
curl -fsS --retry 3 https://hc-ping.com/same-unique-id-here/fail ; \
echo "name.of.php.file.here ENDED for id # $state_id with Exit Code $?" ; \
curl -fsS --retry 3 https://hc-ping.com/same-unique-id-here ; } 2>/dev/null >/dev/null &

Meu primeiro problema é que eu só quero executar a última linha

curl -fsS --retry 3 https://hc-ping.com/same-unique-id-here

se o

php "/path/to/my.file.php" -i 2 -h prod 2>&1 | tee -a /path/to/log/files/my.file.log

é bem sucedido. Como faço para modificar o script para fazer isso?

Minha segunda pergunta é como eu imprimo o código de saída no final de um eco?

echo "name.of.php.file.here ENDED for id # $state_id with Exit Code $?"
    
por ermSO 23.08.2018 / 00:44

1 resposta

0

Eu esperava mais interação nessa questão. Acabei usando uma variável para controlar o que foi executado. Aqui está o código.

{ unset -v failcode ; failcode="0" ; curl -fsS --retry 3 https://hc-ping.com/same-unique-value ; \
echo "\n$(TZ="America/New_York" date +"%m-%d-%Y %H:%M:%S %Z") my.process.name.php STARTED for id # 2" ; \
php "/path/to/my/php/script.php" -i 2 -h lab || failcode="1" ; \
echo "\n$(TZ="America/New_York" date +"%m-%d-%Y %H:%M:%S %Z") my.process.name.php ENDED for id # 2 with Exit Code $failcode" ; \
[ "$failcode" == "1" ] && curl -fsS --retry 3 https://hc-ping.com/same-unique-value/fail ; \
[ "$failcode" == "1" ] && exit 1 ; \
curl -fsS --retry 3 https://hc-ping.com/same-unique-value ; } \
2>&1 | tee -a /path/to/my/log/file.log 2>/dev/null >/dev/null &
    
por 28.08.2018 / 15:49