网站建设资讯

NEWS

网站建设资讯

linux中如何使用Bash脚本发送包含几天内到期的用户账号列表的电子邮件

小编给大家分享一下linux中如何使用Bash脚本发送包含几天内到期的用户账号列表的电子邮件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

为互助等地区用户提供了全套网页设计制作服务,及互助网站建设行业解决方案。主营业务为成都网站建设、成都网站制作、互助网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

1) 检查 10 天后到期的用户帐户列表

此脚本将帮助你在终端上检查 10 天内到期的用户帐户列表。

# vi /opt/script/user-password-expiry.sh
#!/bin/sh/tmp/user-expiry-1.txt/tmp/user-expiry.txtecho "-------------------------------------------------"echo "UserName  The number of days the password expires"echo "-------------------------------------------------"for usern in u1 u2 u3 u4dotoday=$(date +%s)userexpdate=$(chage -l $usern | grep 'Password expires' |cut -d: -f2)passexp=$(date -d "$userexpdate" "+%s")exp=`expr \( $passexp - $today \)`expday=`expr \( $exp / 86400 \)`echo "$usern $expday" >> /tmp/user-expiry.txtdonecat /tmp/user-expiry.txt | awk '$2 <= 10' > /tmp/user-expiry-1.txtcat /tmp/user-expiry-1.txt | column -t

将文件 user-password-expiry.sh 设置为可执行的 Linux 文件权限。

# chmod +x /opt/script/user-password-expiry.sh

你将得到如下输出,但用户与天数可能不同。

# sh /opt/script/user-password-expiry.sh -------------------------------------------------UserName  The number of days the password expires-------------------------------------------------u1         -25u2          9u3          3u4          5

2) 发送包含 10 天内到期的用户帐户列表的电子邮件

此脚本将发送一封包含 10 天内到期的用户帐户列表的邮件。

# vi /opt/script/user-password-expiry-mail.sh
#!/bin/shSUBJECT="Information About User Password Expiration on "`date`""MESSAGE="/tmp/user-expiry.txt"MESSAGE1="/tmp/user-expiry-1.txt"TO="magesh.m@rentacenter.com"echo "-------------------------------------------------" >> $MESSAGE1echo "UserName  The number of days the password expires" >> $MESSAGE1echo "-------------------------------------------------" >> $MESSAGE1for usern in u1 u2 u3 u4dotoday=$(date +%s)userexpdate=$(chage -l $usern | grep 'Password expires' |cut -d: -f2)passexp=$(date -d "$userexpdate" "+%s")exp=`expr \( $passexp - $today \)`expday=`expr \( $exp / 86400 \)`echo "$usern $expday" >> $MESSAGEdonecat $MESSAGE | awk '$2 <= 10' >> $MESSAGE1mail -s "$SUBJECT" "$TO" < $MESSAGE1rm $MESSAGErm $MESSAGE1

将文件 user-password-expiry-mail.sh 设置为可执行的 Linux 文件权限。

# chmod +x /opt/script/user-password-expiry-mail.sh

最后,添加一个 cronjob 去自动执行脚本。每天早上 8 点运行一次。

# crontab -e0 8 * * * /bin/bash /opt/script/user-password-expiry-mail.sh

以上是“linux中如何使用Bash脚本发送包含几天内到期的用户账号列表的电子邮件”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


文章名称:linux中如何使用Bash脚本发送包含几天内到期的用户账号列表的电子邮件
分享URL:http://cdweb.net/article/gsecgc.html