標籤:mail 伺服器 crontab 配置 linux 郵件轉寄
跟著鳥哥的《私房菜》學習LINUX的例行性工作這一章,需要配置/etc/crontab檔案來進行自動化調度,實驗過程中如果某一項工作執行結果有輸出或者是報錯時預設都會向root管理員發送一封郵件。當時就在考慮要是直接給自己常用的163或者其他的郵箱可能更方便解決問題,接下來就著手解決這個問題。
從網上找了好多資料,多數都在說需要配置smtp伺服器或者需要安裝sendmail什麼的軟體來解決向外發送郵件的問題,其中有篇介紹比較實用(接觸的不多,或許對我目前來說比較實用),不需要安裝第三方的程式,直接配置/etc/mail.rc這個檔案smtp配置為網易的smtp.163.com即可,接下來是相關配置:
vim /etc/mail.rc#在最後添加set from="此處填寫你的郵件地址" smtp=smtp.163.comset smtp-auth-user="信箱使用者名" smtp-auth-password="郵箱密碼" smtp-auth=login
配置完畢進行crontab配置
SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/bin[email protected] #測試郵箱替換為自己的郵箱即可#MAILTO=rootHOME=/# For details see man 4 crontabs# Example of job definition:# .---------------- minute (0 - 59)# | .------------- hour (0 - 23)# | | .---------- day of month (1 - 31)# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat# | | | | |# * * * * * user-name command to be executed */2 * * * * root run-parts /root/runcron >> /root/cron/log/crontab.log
在講解指令碼那一章有一個自動ping某個網段主機網路狀態的指令碼,這次把他拿來放到root下面建立一個runcron檔案夾中,這個檔案夾用來在某個時間點,通過crontab調用執行其中的shell指令碼。run-parts就是這個命令的作用就是講後面接的目錄內的所有檔案找出來執行,如果只是需要執行一條指令碼或命令時,將run-parts 替換為相應的指令碼名即可,後面的檔案夾也去掉。因為此次實驗只是在運行出現錯誤的時候才會去發送郵件,所以將程式執行成功的輸出重新導向到/root/cron/log/crontab.log這個檔案中。
下邊是執行後的效果,在測試中故意將log檔案夾寫錯從而無法將輸出結果寫入crontab.log而報錯並將錯誤資訊以郵件形式發送到填寫的郵箱當中去。
650) this.width=650;" src="http://s2.51cto.com/wyfs02/M02/80/0E/wKiom1c1inWghelEAABnxkr19OM411.jpg" title="1.jpg" alt="wKiom1c1inWghelEAABnxkr19OM411.jpg" />
650) this.width=650;" src="http://s2.51cto.com/wyfs02/M02/80/0B/wKioL1c1i1jjRGe5AABTb_Ackks982.jpg" style="float:none;" title="2.jpg" alt="wKioL1c1i1jjRGe5AABTb_Ackks982.jpg" />
650) this.width=650;" src="http://s2.51cto.com/wyfs02/M00/80/0E/wKiom1c1inbz_btuAAEP8u6ZU_A147.jpg" style="float:none;" title="3.jpg" alt="wKiom1c1inbz_btuAAEP8u6ZU_A147.jpg" />
本文出自 “積小流,成江海” 部落格,請務必保留此出處http://goodjoe.blog.51cto.com/9173556/1773071
centos 例行性工作轉寄外部郵箱