#!/bin/bash #set -x source /etc/nodemecu.conf source /opt/nodemecu/envs source $funciones while :;do # archivo a procesar file=$(get_stack) # si no hay nada que procesar reinicia el bucle test -z $file && funcion_espera && continue # si no hay servidor definido se reinicia el bucle test -z $servidor && echo "No se configuró nigun servidor de entrega." && funcion_espera && continue # si no hay internet reinica el bucle if ! funcion_verificar_internet; then err_time=$(date +%Y-%m-%d-%H:%M:%S) echo "$err_time - Parece no haber internet." | tee -a $log funcion_espera continue fi # si el fichero 'lock' existe (se esta creando un nuevo registro) reinicia el bucle test -f $lock && continue # validación del fichero if ! funcion_validador_json "$(cat $registros/$file)";then mv $registros/$file $registros_corruptos continue fi # firmado de regisro firma=$(sign_file $registros/$file) # UUID del registro a enviar uuid_registro=$(jq -r '."transaction_uuid"' $registros/$file) # envio de registro transaccion=$(curl -v -s --show-error -w "~%{http_code}" -X POST -H "X-Signature: $(sign_file $registros/$file)" -H "Content-Type: application/json" -d @$registros/$file $servidor 2> $curl_err) # respuestas del servidor respuesta_servidor="$(echo $transaccion | cut -d '~' -f 1)" error_servidor="$(echo $transaccion | cut -d '~' -f 2)" if [ ${#respuesta_servidor} -eq 36 ] && [ "$uuid_registro" == "$respuesta_servidor" ]; then echo -e "$respuesta_servidor: \e[92mOK\e[0m" mv $registros/$file $registros/$file.sig $historicos else err_time=$(date +%Y-%m-%d-%H:%M:%S) srv_msg="$(echo $respuesta_servidor | grep -o '