通知警报脚本中的日期计算

通知警报脚本中的日期计算

我想创建帐户到期警报,因此我需要编写一个脚本,可以在到期前 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

相关内容