我想创建帐户到期警报,因此我需要编写一个脚本,可以在到期前 1 个月通过电子邮件向我发出警报。我正在 Linux 上工作。
我可以得到截至2015年27月3日的到期信息。我希望通过确定当前日期,如果 2015 年 27 月 3 日还剩 31 天,那么我可以收到电子邮件提醒。我无法写出正确的 if 语句。
答案1
我不太确定你被困在哪里,因为你没有提供大量信息或示例,但你可以考虑以下命令:
chage -l userName
检查用户密码的到期日期mail
向用户或管理员(或两者)发送电子邮件(正如 Graeme 在他的评论中所说)
使用这两个命令,您应该能够编写一个简单的脚本来检查密码是否过期。
您还可以用于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