系統(tǒng)收到的mail會(huì)保存在/var/spool/mail/用戶名?這個(gè)文件夾中。
創(chuàng)新互聯(lián)專注于企業(yè)營銷型網(wǎng)站、網(wǎng)站重做改版、北湖網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5開發(fā)、商城系統(tǒng)網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為北湖等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
收mail,鍵入mail就會(huì)顯示當(dāng)前用戶的前20封mail??蓪︵]件進(jìn)行查看刪除等操作。
在linux文本命令平臺輸入?mail?-f?mbox,就可以看到當(dāng)前目錄下的mbox中的郵件了。
cd?改變當(dāng)前所在文件夾的位置,讀信時(shí),按一次Ctrl+C,退出閱讀狀態(tài)。
《Linux設(shè)置定時(shí)任務(wù)》 一文中,我們學(xué)習(xí)了使用crontab設(shè)置定時(shí)任務(wù)的方法,并用它來獲取ganglia的運(yùn)行狀態(tài)。這樣還不夠,我們想要在ganglia的運(yùn)行狀態(tài)出現(xiàn)問題時(shí)通知我們,這樣,我們就不用每天自己查看日志了。
本文主要參考 Ubuntu mail命令發(fā)送郵件 和 如何通過Shell腳本實(shí)現(xiàn)發(fā)送郵件通知功能? 。
1、安裝mailutils
sudo apt-get install mailutils
2、General type of mail configuration選擇Internet Site。
3、System mail name輸入mail.voidking.com。
命令格式:
mail [OPTION...] [address...]
常用到的選項(xiàng),一個(gè)是s,代表主題;一個(gè)是A,代表附件。其他的需要時(shí)查看help。
目標(biāo):給郵箱 voidking@qq.com 發(fā)送郵件,主題為“Hello VoidKing”,內(nèi)容為“Welcome to mail world!”
mail -s 'Hello VoidKing' voidking@qq.com
提示Cc,這里不需要抄送,就直接回車。然后輸入郵件內(nèi)容“Welcome to mail world!”,回車,ctrl+D,發(fā)送郵件。
但是,等待了幾分鐘,并沒有收到郵件,垃圾箱也沒有。
mail ,查看email的發(fā)送狀態(tài)為Undelivered Mail Returned,原來沒有投遞出去。
查看郵件系統(tǒng)日志: tail -n 50 /var/spool/mail/test ,提示host mx3.qq.com[183.57.48.35] said: 550 Mail content denied??磥韖q郵箱的垃圾郵件防御機(jī)制做的不錯(cuò),那就換個(gè)163郵箱,沒想到依然失敗。
那就換一臺服務(wù)器!發(fā)送給 voidking@qq.com ,成功!很尷尬。。。
除了上面的方式發(fā)送郵件,我們還可以使用:
mail -s 'Hello VoidKing' voidking@qq.com 'Welcome to mail world!'
或者使用:
echo 'Welcome to mail world!' | mail -s "Hello VoidKing" voidking@qq.com
1、從文本讀入內(nèi)容發(fā)送郵件
mail -s 'Error report' voidking@qq.com /tmp/log/ganglia/error-20180524.log
2、發(fā)送附件
mail -s 'Error report' voidking@qq.com -A /tmp/log/ganglia/ganglia-20180524.log /tmp/log/ganglia/error-20180524.log
3、指定發(fā)件人
echo 'Welcome to mail world!' | mail -s "Hello VoidKing" voidking@qq.com -aFrom:haojin@qq.com
失敗了,收不到郵件,不知道什么原因,留個(gè)坑吧。
目標(biāo):每天獲取一次ganglia的狀態(tài)日志,然后通過checkganglia.sh腳本進(jìn)行審閱。審閱完畢,發(fā)送審閱結(jié)果到管理員的郵箱。
修改checkganglia.sh腳本為:
至此,大功告成! 《Linux設(shè)置定時(shí)任務(wù)》 配合 《Linux設(shè)置郵件提醒》 ,簡直完美!兩篇文章完成了一個(gè)小系統(tǒng):定時(shí)生成ganglia日志,定時(shí)審閱ganglia日志,并且把審閱結(jié)果通過郵件發(fā)送給管理員。
Linux命令大全——LMNOPQ
如何在Ubuntu環(huán)境下搭建郵件服務(wù)器(一)
權(quán)限管理命令 chmod
英文愿意: change the permissions mode of a file
語法: chmod[{ugoa}{+-=}{rwx}] [文件或目錄]
[mide = 421] [文件或目錄]
-R 遞歸修改
權(quán)限的數(shù)字表示
r -- 4
w -- 2
x -- 1
rwxrw-r-- (4+2+1 = 7)
7 6 4
例子:mkdir /temp 創(chuàng)建了一個(gè)目錄
touch /temp/testfile 在該目錄下創(chuàng)建了一個(gè)test file文件
chmod 777 /temp 改變了一下該目錄的權(quán)限
名稱: chgrp
英文原意:change file group ownership
語法:chgrp [用戶][文件或目錄]
功能: 改變文件或目錄的所屬租
例子: useradd hl // 添加所有者
groupadd brother // 添加所有組
charp brother text // brother變成了text文件的所屬組
注意:
1、所屬組就是創(chuàng)建這的所屬者的缺省組
2、linux中創(chuàng)建的文件缺少x(可執(zhí)行)為了使系統(tǒng)更加安全
mask
0022
0特殊權(quán)限
022 ugo --- -w- -w-
1、文件搜索命令find
執(zhí)行權(quán)限:find
語法:find[搜索范圍][匹配條件]
功能描述:文件搜索
例子:
find /etc -name init (-iname 不區(qū)分大小寫)
find /home -user(-group) hl
在根目錄下查找所有者(所有組)為hl的文件
在目錄/etc中查找文件init
init init init // 通配符
?init (?匹配單個(gè)字符)
find / -size +204800
在跟目錄下查找大于100MB的文件 (100MB = 102400KB = 204800)
+n 大于 -n小于 n等于
find /etc -cmin -5
例子2:
find /etc -size + 163840 -a size -204800
在/etc下查找大于80MB小于100MB的文件
-a兩個(gè)條件同時(shí)滿足
-o兩個(gè)條件滿足任意一個(gè)即可
在/etc下查找5分鐘內(nèi)被修改的屬性的文件和目錄
-amin 訪問時(shí)間 access
-cmin 文件屬性 change
-mmin 文件內(nèi)容 modify
2、文件搜索指令 locate
命名名稱:locate
執(zhí)行權(quán)限:所有用戶
語法:locate 文件名
功能描述:在文件資料庫中查找文件
例子: $ locate inittab
輸出文件所在位置
locate和find的區(qū)別:
locate的查找速度很快,因?yàn)閒ind是在分區(qū)和磁盤上查找,而locate是在資料庫中查找
注意:如果資料庫沒有實(shí)時(shí)更新,所以locate可能會(huì)查不到要查詢的文件。
即:
updatedb (升級文件的資料庫)
loocate -i 文件名 (-i 不區(qū)分大小寫)
3、文件搜索命令:which (更精確呦)
執(zhí)行權(quán)限:所有用戶
功能描述:搜索命令所在目錄及別名信息
例子: which ls
alias(別名)
4、whiereis
執(zhí)行權(quán)限:所有用戶
語法: whereis[命令名稱]
功能描述:搜索命令所在目錄及幫助文檔路徑
例子: whereis ls
5、grep
執(zhí)行權(quán)限:所有用戶
語法:grep -iv[指定字串][文件]
功能描述:在文件中搜索字符串匹配的行并輸出
-i 不區(qū)分大小寫
-v 排除指定字符串
例子 grep mysql /root/install.log
補(bǔ)充: linux中 # 表示注釋
命名名稱:man
英文原意:manual
執(zhí)行權(quán)限:所有用戶
語法:man[命令或配置文件]
功能描述:獲取幫助信息
例子: man ls # 查看ls命令的幫助信息
man services 查看配置文件sevices的幫助信息
補(bǔ)充:man 。。。。后
/-g :查詢與g有關(guān)的信息
空格進(jìn)行翻頁
回車進(jìn)行換行
按n繼續(xù)查找
命令名稱:useradd
執(zhí)行權(quán)限:root
語法:useradd 用戶名
功能描述: 添加新用戶
例子: useradd HF
命令名稱:passwd
執(zhí)行權(quán)限:所有用戶
語法:passwd 用戶名
功能描述: 設(shè)置用戶密碼
例子: passwd HF
命令名稱:who
執(zhí)行權(quán)限:所有用戶
語法:who
功能描述: 查看登錄用戶信息
例子: who
輸出內(nèi)容含義:
登錄用戶名 登錄終端(tty本地登錄、pds表述遠(yuǎn)程終端) 登錄時(shí)間 登錄主機(jī)ip地址
命令名稱:w
執(zhí)行權(quán)限:所有用戶
語法:w
功能描述: 查看登錄用戶詳細(xì)信息
例子: w
命令名稱:gzip
英文原意:GNU zip
執(zhí)行權(quán)限:所有用戶
語法:gzip[文件]
功能描述: 壓縮文件
壓縮后文件格式:.gz
解壓縮:gunzip 壓縮文件
注意:gizp只能壓縮文件,不能壓縮目錄
命令名稱:tar
執(zhí)行權(quán)限:所有用戶
語法:tar 選項(xiàng) [-zcf] [壓縮文件名] [目錄]
-c 打包
-v 顯示詳細(xì)文件
-f 指定文件名
-z 打包同時(shí)壓縮
功能描述: 打包目錄
壓縮后文件格式:.tar.gz
命令名稱:zip
執(zhí)行權(quán)限:所有用戶
語法:zip 選項(xiàng)[-r][壓縮后文件名][文件或目錄]
-r 壓縮目錄
功能描述: 壓縮文件或目錄
壓縮后文件格式: zip
注意:zip是window和linux系統(tǒng)中通過用的壓縮格式
命令名稱:bzip2
執(zhí)行權(quán)限:所有用戶
語法:bzip2 選項(xiàng) [-k] [文件]
-k 產(chǎn)生壓縮文件后保留有源文件
功能描述: 壓縮文件
壓縮后文件格式: .bz2
注意: bzip2的壓縮比例大,適用于壓縮較大的文件
bunzip2解壓縮
對目錄壓縮:tar.bz2
指令名稱:write
指令權(quán)限:所有用戶
語法:write 用戶名
功能描述:給用戶發(fā)消息 ,以ctrl + D保存
例子: write YX
命令名稱:wall
英文原意:write all
執(zhí)行權(quán)限:所有用戶
語法:wall [message]
功能描述: 發(fā)廣播信息
命令名稱:ping
執(zhí)行權(quán)限:所有用戶
語法:ping 選項(xiàng)IP地址
-c 指定發(fā)送次數(shù)
功能描述: 測試網(wǎng)絡(luò)連通性
例子: ping 192.168.1.156
命令名稱:ifcongig
英文原意:interface configure
執(zhí)行權(quán)限:root
語法:ifconfig 網(wǎng)卡名稱 IP地址
功能描述:查看和設(shè)置網(wǎng)卡信息(設(shè)立之臨時(shí)IP)
例子: ifconfig etho 192.168.1.156
etch0 本地真實(shí)網(wǎng)卡
lo 回環(huán)網(wǎng)卡 (用來本機(jī)通信個(gè)測試的)
cncap:。。網(wǎng)絡(luò)名稱是以太網(wǎng)
HWaddr: 16進(jìn)制表示的 48位的 網(wǎng)卡的物理地址
addr:當(dāng)前計(jì)算機(jī)IP地址
Bcast:當(dāng)前網(wǎng)絡(luò)地址
Mask:子網(wǎng)掩碼
inet6 addr: 表示的是IPv6的地址信息
RX packets:接受數(shù)據(jù)包的總數(shù)量
TX packets:發(fā)送數(shù)據(jù)包的總數(shù)量
Base addtess: 網(wǎng)卡當(dāng)中的物理位置
命令名稱:mail (郵件命令)
執(zhí)行權(quán)限:所有用戶
語法:mail [用戶名]
功能描述:查看發(fā)送電子郵件
發(fā)送:ctrl + D
查詢: mail
例子: mail root
[圖片上傳中...(-d00bb9-1591253201012-0)]
命令名稱:last
執(zhí)行權(quán)限:所有用戶
語法:last
功能描述:列出目前和過去登入系統(tǒng)的用戶信息
命令名稱:traceroute
執(zhí)行權(quán)限:所有用戶
語法:traceroute
功能描述:顯示數(shù)據(jù)包到主機(jī)的路徑
例子: traceroute
命令名稱:netstat
執(zhí)行權(quán)限:所有用戶
語法:netstat [選項(xiàng)]
功能描述:顯示網(wǎng)絡(luò)相關(guān)信息
選項(xiàng):
-t : TCP協(xié)議
-u : UDP協(xié)議
-l : 監(jiān)聽
-r : 路由
-n : 顯示IP地址和端口號
例子:
netstat -tlun 查看本機(jī)監(jiān)聽的端口
netstat -an 查看本機(jī)所有網(wǎng)絡(luò)鏈接
netstat -rn 查看本屆路由表
命令名稱:setup
執(zhí)行權(quán)限:root
語法:setup
功能描述:配置網(wǎng)絡(luò)(永久生效)
例子: setup
注意:配置網(wǎng)絡(luò)結(jié)束后要重啟網(wǎng)絡(luò)服務(wù)
service network restart
掛在命令
命令名稱:mount
執(zhí)行權(quán)限:所有用戶
語法:mount[-t 文件系統(tǒng)] 設(shè)備文件
例子: mount -t iso9660/dev/sr0/mnt/cdrom
命令名稱:shutdown
[root@localhost~]#shutdown [選項(xiàng)] 時(shí)間
選項(xiàng):- c : 取消前一個(gè)關(guān)機(jī)命令
- h:關(guān)機(jī)
- r :重啟
特點(diǎn):可以正確的關(guān)閉和保存服務(wù),建議實(shí)用
其他關(guān)機(jī)命令
halt
poweroff (直接斷電)
init 0
重啟命令
reboot
init6
補(bǔ)充:init _ 的數(shù)字含義
init0 關(guān)機(jī)
init1 單用戶(啟動(dòng)最小最核心的服務(wù))
init2 不完全多用戶,不含NFS服務(wù)(network file system 網(wǎng)絡(luò)文件系統(tǒng))
init3 完全多用戶
init4 未分配
init5 圖形界面
init6 重啟
查詢系統(tǒng)運(yùn)行級別
runlevel
退出登錄命令
logout
筆者做過做過使用python發(fā)送郵件- Python使用yagmail庫發(fā)送郵件 ,那么在不同平臺都可以完成一些監(jiān)控報(bào)警功能。但是在linux平臺下,如果腳本是shell實(shí)現(xiàn)的,可以調(diào)用python腳本,也可以直接使用shell來發(fā)送。
1、按照mailx軟件包, 安裝后在/usr/bin/mail
? ? sudo yum install mailx -y
2、修改配置文件/etc/mail.rc
? ? 直接修改配置文件vim /etc/mail.rc, 在最后追加下面的配置,筆者使用的是163郵箱。需要注意的是,需要進(jìn)入郵箱開啟SMTP服務(wù),然后得到一個(gè)授權(quán)碼,用于登錄第三方郵件客戶端的專用密碼。smtp-auth-password即為授權(quán)碼,而不是郵箱地方密碼。
3、發(fā)送郵箱測試
? ? ? 命令行輸入: echo "測試郵件" | mail -s "郵件主題" -a ./myshells/clear_buffcache.sh ***@qq.com? 。-s添加郵箱主題,并添加附件后將郵箱內(nèi)容一起發(fā)送給***@qq.com? 。郵箱里面立馬就可以收到了。
也可以使用文件內(nèi)容進(jìn)行郵件發(fā)送:mail -s? "郵件主題"? 收件地址? ? mail.txt? 。
也可以在命令行輸入郵箱內(nèi)容:mail -s? "郵件主題"? 收件地址? ,輸入完這行命令后回車,會(huì)進(jìn)入郵件正文的編寫,可以輸入任何文字。當(dāng)郵件正文輸入完成后,需要按CTRL+D結(jié)束輸入后發(fā)送。
如果發(fā)送失敗,咋命令行會(huì)提示錯(cuò)誤: message not sent,并會(huì)在用戶目錄下的dead.letter里面顯示具體信息。