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://myzitong.com/article/gsecgc.html