2023年7月30日 星期日

[Linux]如何配置定期任務腳本,並將執行結果寄到外部郵箱? (下)

 ​延續[Linux]如何配置定期任務腳本,並將執行結果寄到外部郵箱? (上)文章,當了解任務腳本和定期任務的設置後,接續了解該如何使任務執行結果自動寄到外部信箱,讓用戶掌握任務執行狀態。

在Linux中,mailx 是配置郵件的服務,若無該服務,可用yum install mailx -y來安裝。安裝後,使用vim /etc/mail.rc 編輯,將下列的配置指令新增到mail.rc文件的末段。

#設定發送郵箱
set from="xxx@163.com" 
#設定發送郵箱服務器
set smtp="smtp.163.com"
#設定郵箱用戶名
set smtp-auth-user="xxx@163.com"
#163郵箱需到163 web mail取得郵箱授權碼,可詳見文末參考資料
set smtp-auth-password="******" 
#SMTP認證,默認為login
set smtp-auth="login"

為了使郵件隨著定期任務一併執行,因此將mail的發送指令也寫入腳本。其中"log backup"為郵件主題,-a 為夾帶附件 , -c 為抄送其他郵件,如此可實現以163郵箱發送給gmail或是139郵箱的功能。關於mail的語法,建議可用man調閱說明文件。



另外,系統或程式案子處理過程中,難免會遇到一些坑。該案的其中一個坑特別值得提出,供紀錄也供分享。執行過程中,看到Linux的localhost郵件看到因權限問題而拒絕執行的問題(Permission denied),原因為在寫完任務腳本後,需設定其執行的權限。以本文的test1.sh為例,需利用chmod +x test1.sh指令,使test1.sh具備執行權限,同時顯而易見的,當test1.sh由白色字體轉為綠色字體,也才真正成為可執行文件。



沒有留言:

張貼留言