
Я хочу создать оповещения об истечении срока действия учетной записи, поэтому мне нужно написать скрипт, который мог бы оповещать меня по электронной почте за 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