improve dates handling

* combine BEGIN_DATE and add END_DATE
* add the timestamp at the begining of the log blob
This commit is contained in:
Jérémy Lecour 2018-09-06 10:12:06 +02:00 committed by Jérémy Lecour
parent 938574de5c
commit a7c6c94626

View file

@ -18,11 +18,10 @@ PATH=${PATH}:/usr/sbin
WHO=$(LC_ALL=C who -m)
USER=$(echo ${WHO} | cut -d" " -f1)
IP=$(echo ${WHO} | cut -d" " -f6 | sed -e "s/^(// ; s/)$//")
BEGIN_DATE=$(echo ${WHO} | cut -d" " -f3,4,5)
BEGIN_YEAR=$(date "+%Y")
# "date --iso8601" is not available everywhere
NOW=$(date +"%Y-%m-%dT%H:%M:%S%z")
BEGIN_DATE="$(date "+%Y") $(echo ${WHO} | cut -d" " -f3,4,5)"
END_DATE=$(date +"%Y %b %d %H:%M")
# we can't use "date --iso8601" because this options is not available everywhere
NOW_ISO=$(date +"%Y-%m-%dT%H:%M:%S%z")
# details
echo "Please, enter details about your maintenance"
@ -35,11 +34,11 @@ fi
# recapitulatif
BLOB=$(cat <<END
Time : $NOW
Host : $HOSTNAME
User : $USER
IP : $IP
Begin : $BEGIN_YEAR $BEGIN_DATE
Begin : $BEGIN_DATE
End : $END_DATE
Message : $TEXTE
END
)
@ -49,7 +48,8 @@ echo "To cancel, [Ctrl+C] else press [Enter]"
read enter
# write log
echo "----------\n${BLOB}" >> "${LOGFILE}"
echo "---------- ${NOW_ISO} ----------" >> "${LOGFILE}"
echo "${BLOB}" >> "${LOGFILE}"
# git commit
GIT_BIN=$(command -v git)
@ -65,12 +65,12 @@ SQL_TEXTE=`echo "${TEXTE}" | sed "s/'/\\\\\\'/g ; s@/@\\\\\/@g ; s@\\&@et@g"`
echo "
INSERT INTO evomaint(hostname,userid,ipaddress,begin_date,end_date,details)
VALUES ('${HOSTNAME}','${USER}','${IP}','${BEGIN_YEAR} ${BEGIN_DATE}',now(),'${SQL_TEXTE}') " | \
VALUES ('${HOSTNAME}','${USER}','${IP}','${BEGIN_DATE}',now(),'${SQL_TEXTE}') " | \
psql ${PGDB} ${PGTABLE} -h ${PGHOST}
# send mail
SENDMAIL=$(command -v sendmail)
cat /usr/share/scripts/evomaintenance.tpl | \
sed -e "s/__TO__/${EVOMAINTMAIL}/ ; s/__HOSTNAME__/${HOSTNAME}/ ; s/__USER__/${USER}/ ; s/__BEGIN_DATE__/${BEGIN_YEAR} ${BEGIN_DATE}/ ; s/__TEXTE__/${TEXTE}/ ; s/__IP__/${IP}/ ; s/__FULLFROM__/${FULLFROM}/ ; s/__FROM__/${FROM}/ ; s/__URGENCYFROM__/${URGENCYFROM}/ ; s/__URGENCYTEL__/${URGENCYTEL}/" | \
sed -e "s/__TO__/${EVOMAINTMAIL}/ ; s/__HOSTNAME__/${HOSTNAME}/ ; s/__USER__/${USER}/ ; s/__BEGIN_DATE__/${BEGIN_DATE}/ ; s/__TEXTE__/${TEXTE}/ ; s/__IP__/${IP}/ ; s/__FULLFROM__/${FULLFROM}/ ; s/__FROM__/${FROM}/ ; s/__URGENCYFROM__/${URGENCYFROM}/ ; s/__URGENCYTEL__/${URGENCYTEL}/" | \
${SENDMAIL} -oi -t -f ${FROM}