Расчет даты в скрипте для оповещений

Расчет даты в скрипте для оповещений

Я хочу создать оповещения об истечении срока действия учетной записи, поэтому мне нужно написать скрипт, который мог бы оповещать меня по электронной почте за 1 месяц до истечения срока действия. Я работаю на Linux.

Я могу получить информацию об истечении срока действия как 2015-27-03. Я хочу, чтобы если в 2015-27-03 осталось 31 день, определив текущую дату, я мог бы получить оповещение по электронной почте. Я не могу написать правильный оператор if.

решение1

Я не совсем уверен, где вы застряли, поскольку вы не предоставили много информации или примеров, но вы можете рассмотреть следующие команды:

  • chage -l userNameдля проверки даты истечения срока действия пароля пользователя
  • mailотправить электронное письмо либо пользователю, либо администратору (или обоим) (как сказал Грэм в своем комментарии)

С помощью этих двух команд вы сможете написать простой скрипт для проверки срока действия пароля.

Вы также можете использовать его crontabдля планирования (например, ежедневного).

РЕДАКТИРОВАТЬ:

После внесения изменений и добавления дополнительной информации вы можете попробовать сделать следующее:

# Get the current date in seconds since 1970
current_date=`date "+%s"`
# Convert the date you want to check in seconds since 1970
date_to_check=`date -d 2015/03/31 +"%s"`
# Calculate the difference in seconds
date_diff=`expr $date_to_check - $current_date`
# Check whether the difference is greater than 31 days (2678400 seconds)
if [ `expr $date_diff - 2678400` -gt 0 ]
then
    echo More than 31 days left
else
    echo Less than 31 days left
fi

Связанный контент