Я хочу сделать чек в Ицинге, с указанной датой. У данной даты есть своя формация, поэтому я могу изменить ее только в Batch, что я и пробовал.
Таким образом, Bash должен дать мне критическое замечание, когда fDate до 7 дней ниже даты фактической активации, и Bash должен дать мне предупреждение, когда fDate составляет 21 день до даты фактической активации.
Вот мой сценарий:
#Actuall date in format from the Fortigate
LANG=en_us_8859_1
aDate=`date +"%a %b %d %Y"`
aDateOW=`date +"%b/%d/%Y"`
#aDateOM=`date +"%d %Y"`
echo $aDate Actuall date with weekday/month
echo $aDateOW Actuall date without weekday with slash
#echo $aDateOM Actuall date without weekday/month
echo -------------------------------------------------------
#Date from Fortigate (webfilter-expliration)
#testdate manuell declared
fDate="Sun Oct 27 2019"
fDateOW="${fDate:4:11}"
fDateOW="${fDateOW//[ ]//}"
echo $fDateOW Date from Fortigate with slash
date -d 'fDateOW 7 days'
echo $date test
#fDateOM="${fDate:8:8}"
echo $fDate Date from Fortigate with weekday/month
echo $fDateOW Date from Fortigate without weekday
#echo $fDateOM Date from Fortigate without weekday/month
echo -------------------------------------------------------
#Exit Codes Icinga
#ok=0
#warn=1
#crit=2
#unknown=3
if [[ "$aDateOW" < "$fDateOW" ]]
then
echo ok
# exit 0
elif
$fDateOW -v-7d
[[ "$aDateOW" > "$fDateOW" ]]
then
echo ok
elif
[[ "$aDateOW" == "$fDateOW" ]]
then
echo warning
# exit 1
elif
[[ "$aDateOW" > "$fDateOW" ]]
then
echo critical
# exit 2
fi
echo $fDateOW