小編給大家分享一下linux中如何使用Bash腳本發(fā)送包含幾天內(nèi)到期的用戶賬號列表的電子郵件,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
為互助等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及互助網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、互助網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
此腳本將幫助你在終端上檢查 10 天內(nèi)到期的用戶帳戶列表。
# 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
設(shè)置為可執(zhí)行的 Linux 文件權(quán)限。
# chmod +x /opt/script/user-password-expiry.sh
你將得到如下輸出,但用戶與天數(shù)可能不同。
# sh /opt/script/user-password-expiry.sh -------------------------------------------------UserName The number of days the password expires-------------------------------------------------u1 -25u2 9u3 3u4 5
此腳本將發(fā)送一封包含 10 天內(nèi)到期的用戶帳戶列表的郵件。
# 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
設(shè)置為可執(zhí)行的 Linux 文件權(quán)限。
# chmod +x /opt/script/user-password-expiry-mail.sh
最后,添加一個(gè) cronjob 去自動執(zhí)行腳本。每天早上 8 點(diǎn)運(yùn)行一次。
# crontab -e0 8 * * * /bin/bash /opt/script/user-password-expiry-mail.sh
以上是“l(fā)inux中如何使用Bash腳本發(fā)送包含幾天內(nèi)到期的用戶賬號列表的電子郵件”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!