From 1836f0493877159bc2c0551567875d71e73e63e4 Mon Sep 17 00:00:00 2001 From: Nicolas Roman Date: Fri, 15 Feb 2019 15:34:19 +0100 Subject: [PATCH 1/3] added timeout on read function --- evomaintenance.sh | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/evomaintenance.sh b/evomaintenance.sh index 1d22d71..b576e7f 100755 --- a/evomaintenance.sh +++ b/evomaintenance.sh @@ -63,6 +63,19 @@ get_now() { date +"%Y-%m-%dT%H:%M:%S%z" } +# timeout on read(), uses TMOUT env as timer +timedout_read() { + if [ -z ${TMOUT+x} ] || [ "$TMOUT" = 0 ]; then + export TMOUT=36000 + fi + user_input=$1 + old_tty_settings=$(stty -g) + stty -icanon min 0 time ${TMOUT}0 + read $user_input + stty "$old_tty_settings" + unset TMOUT +} + test -f /etc/evomaintenance.cf && . /etc/evomaintenance.cf [ -n "${HOSTNAME}" ] || HOSTNAME=$(get_fqdn) @@ -123,7 +136,7 @@ fi # get input from stdin echo "> Please, enter details about your maintenance" -read TEXTE +timedout_read TEXTE if [ "${TEXTE}" = "" ]; then echo "no value..." @@ -145,7 +158,7 @@ echo "" echo "${BLOB}" echo "" echo "> Press to submit, or to cancel." -read enter +timedout_read enter # write log echo "----------- $(get_now) ---------------" >> "${LOGFILE}" -- 2.39.2 From 269336fcf0b232982ed47b517713060e560cc045 Mon Sep 17 00:00:00 2001 From: Nicolas Roman Date: Mon, 18 Feb 2019 17:37:17 +0100 Subject: [PATCH 2/3] fixed shellcheck warnings --- evomaintenance.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/evomaintenance.sh b/evomaintenance.sh index b576e7f..cc50f21 100755 --- a/evomaintenance.sh +++ b/evomaintenance.sh @@ -65,13 +65,14 @@ get_now() { # timeout on read(), uses TMOUT env as timer timedout_read() { - if [ -z ${TMOUT+x} ] || [ "$TMOUT" = 0 ]; then - export TMOUT=36000 + if [ -z "${TMOUT+x}" ] || [ "$TMOUT" = 0 ]; then + # maximum allowed by stty + export TMOUT=25 fi user_input=$1 old_tty_settings=$(stty -g) stty -icanon min 0 time ${TMOUT}0 - read $user_input + read -r "$user_input" stty "$old_tty_settings" unset TMOUT } -- 2.39.2 From 73fbbf4d0acd86b6e3a7d46722a40a3868043e17 Mon Sep 17 00:00:00 2001 From: Nicolas Roman Date: Fri, 15 Mar 2019 15:31:50 +0100 Subject: [PATCH 3/3] added api call --- evomaintenance.sh | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/evomaintenance.sh b/evomaintenance.sh index cc50f21..4db0a98 100755 --- a/evomaintenance.sh +++ b/evomaintenance.sh @@ -199,7 +199,16 @@ fi SQL_TEXTE=`echo "${TEXTE}" | sed "s/'/''/g"` PG_QUERY="INSERT INTO evomaint(hostname,userid,ipaddress,begin_date,end_date,details) VALUES ('${HOSTNAME}','${USER}','${IP}','${BEGIN_DATE}',now(),'${SQL_TEXTE}')" -echo "${PG_QUERY}" | psql ${PGDB} ${PGTABLE} -h ${PGHOST} +#echo "${PG_QUERY}" | psql ${PGDB} ${PGTABLE} -h ${PGHOST} + +curl -H "Content-Type: application/json" -X POST http://172.28.128.3:8000 -d '{ + "hostname": '${HOSTNAME}', + "userid": '${USER}', + "ipaddress": '${IP}', + "begin_date": '${BEGIN_DATE}', + "end_date": '$(now())', + "details": '${SQL_TEXTE}' +}' # send mail MAIL_TEXTE=$(echo "${TEXTE}" | sed -e "s@/@\\\\\/@g ; s@&@\\\\&@") -- 2.39.2