[ RouterOS 折騰手記 ] 5.系統(tǒng)自動(dòng)化及郵件腳本

0.前景提要
本篇教程分為以下內(nèi)容:
定時(shí)器和腳本初始化
完善系統(tǒng)更新腳本
系統(tǒng)郵件通知
在上一篇教程《?[ RouterOS 折騰手記 ] 4.系統(tǒng)參數(shù)調(diào)整 》中,我們對(duì)系統(tǒng)的服務(wù)、NTP、系統(tǒng)賬戶等內(nèi)容進(jìn)行了一些調(diào)整。
接下來(lái)我們使用 RouterOS 的定時(shí)器以及腳本功能實(shí)現(xiàn)一些自動(dòng)化操作。
在正式開始之前需要做一些準(zhǔn)備工作:
對(duì)于使用 CHR 版本 RouterOS 的軟路由,自動(dòng)更新腳本請(qǐng)查閱?Fox_ROS_CHR_Sys_Upgrade_Worker.conf
對(duì)于使用 Mikrotik 原生 RouterOS 的硬路由,自動(dòng)更新腳本請(qǐng)查閱?Fox_ROS_Native_Sys_Upgrade_Worker.conf
使用系統(tǒng)發(fā)送郵件功能,需要準(zhǔn)備一個(gè)郵箱并開啟?
SMTP
?服務(wù),推薦使用QQ郵箱或163郵箱系統(tǒng)日志郵件腳本,請(qǐng)查閱?Fox_ROS_Email_Log_Worker.conf
系統(tǒng)資源郵件腳本,請(qǐng)查閱?Fox_ROS_Email_Res_Worker.conf
詳細(xì)代碼請(qǐng)查閱我 Gitee 上的同步更新倉(cāng)庫(kù),
RouterOS_Toss_Notes: RouterOS路由器的安裝以及折騰手記。 (gitee.com)
1.定時(shí)器和腳本初始化
定時(shí)器和腳本配置較為復(fù)雜,所以推薦使用 SSH 工具在 RouterOS 的命令行環(huán)境下進(jìn)行配置。
在前篇文章中,我們不僅新建了一個(gè)系統(tǒng)管理員賬號(hào),同時(shí)在修改系統(tǒng)參數(shù)過(guò)程中對(duì) SSH 服務(wù)進(jìn)行過(guò)調(diào)整。
如果修改過(guò) SSH 服務(wù)的端口,在使用?ssh
?命令登錄 RouterOS 時(shí),需要帶上端口號(hào)。
使用?新的?系統(tǒng)管理員賬戶進(jìn)行登錄:
RouterOS 的定時(shí)器將會(huì)創(chuàng)建 5 個(gè),分別為:
定時(shí)觸發(fā)系統(tǒng)日志郵件腳本
定時(shí)觸發(fā)系統(tǒng)資源郵件腳本
定時(shí)觸發(fā)系統(tǒng)自動(dòng)更新腳本
定時(shí)斷開 PPPoE 連接
定時(shí)重連 PPPoE 連接
RouterOS 的腳本將會(huì)創(chuàng)建 3 個(gè),分別為:
系統(tǒng)日志郵件腳本
系統(tǒng)資源郵件腳本
系統(tǒng)自動(dòng)更新腳本
在 RouterOS 的命令行環(huán)境下,將以下命令一次性全部粘貼到終端工具中即可初始化定時(shí)器和腳本:
如果這段代碼不好復(fù)制,請(qǐng)查閱我 Gitee 上的同步更新倉(cāng)庫(kù),
訪問文件?src /?Fox_ROS_Schedule_Script.conf?進(jìn)行復(fù)制。
其中?interval
?參數(shù)為定時(shí)器執(zhí)行周期,start-time
?參數(shù)為每天的觸發(fā)時(shí)刻,各腳本時(shí)間設(shè)置匯總?cè)缦拢?/p>
命令執(zhí)行完畢后,打開 Winbox ,點(diǎn)擊左側(cè)導(dǎo)航?System
?菜單的子菜單?Scheduler
?,可以看到已有 5 個(gè)定時(shí)器:

如果需要禁用某個(gè)定時(shí)器,使用鼠標(biāo)?單擊?選中定時(shí)器,點(diǎn)擊?Disable
?按鈕進(jìn)行禁用:

2.完善系統(tǒng)更新腳本
點(diǎn)擊 Winbox 左側(cè)導(dǎo)航?System
?菜單的子菜單?Scripts
?,可以看到已有 3 個(gè)腳本:

但腳本條目均為紅色,因?yàn)橹暗拿钪辉O(shè)置了腳本的基本參數(shù),還未添加腳本具體內(nèi)容。
根據(jù)所使用的 RouterOS 版本不同,從給 CHR 軟路由用的?Fox_ROS_CHR_Sys_Upgrade_Worker.conf?和給原生硬件用的?Fox_ROS_Native_Sys_Upgrade_Worker.conf?兩個(gè)更新腳本中選擇一個(gè),并復(fù)制其內(nèi)容。
鼠標(biāo)?雙擊?系統(tǒng)自動(dòng)更新腳本?sys_upgrade_worker
?,進(jìn)入腳本配置界面,在?Source
?處粘貼腳本內(nèi)容:

腳本粘貼完成后,?sys_upgrade_worker
?腳本將轉(zhuǎn)變?yōu)檎顟B(tài):

3.系統(tǒng)郵件通知
3.1.準(zhǔn)備發(fā)信郵箱
RouterOS 支持使用?SMTP
?協(xié)議進(jìn)行郵件發(fā)送,推薦使用國(guó)內(nèi)的QQ郵箱或163郵箱。
需要說(shuō)明的是,這里使用郵箱主要在發(fā)送?系統(tǒng)日志信息?和?系統(tǒng)資源信息?,如果無(wú)需郵件發(fā)送功能,可以跳過(guò)本段內(nèi)容。
本文以163郵箱作為演示,登錄163郵箱后,點(diǎn)擊頂部?設(shè)置
?菜單的子菜單?POP3/SMTP/IMAP
?:

點(diǎn)擊?POP3/SMTP服務(wù)
?右側(cè)的?開啟
?按鈕:

根據(jù)提示信息進(jìn)行安全認(rèn)證之后,就能拿到一個(gè)第三方客戶端的?授權(quán)密碼?,該密碼只出現(xiàn)一次,因此需要將密碼復(fù)制出來(lái)并保存。
使用設(shè)備
?處填寫一個(gè)備注,以便后續(xù)區(qū)分:

然后找到?SMTP
?服務(wù)器地址?smtp.163.com
?,并記錄下?SSL
?端口號(hào)?465
?:

3.2.設(shè)置 RouterOS 郵件服務(wù)
回到 Winbox,點(diǎn)擊左側(cè)導(dǎo)航?Tools
?菜單的子菜單?Email
?,對(duì)郵件服務(wù)進(jìn)行設(shè)置:

參考表格中的內(nèi)容填寫相關(guān)參數(shù),From
?和?User
?均為剛開啟了?SMTP
?服務(wù)的郵箱地址,Password
?為剛獲取的授權(quán)密碼,設(shè)置完成后點(diǎn)擊?OK
?按鈕:

3.3.完善系統(tǒng)日志郵件腳本
復(fù)制?Fox_ROS_Email_Log_Worker.conf?中的腳本內(nèi)容,并使用文本編輯器工具對(duì)腳本中有關(guān)?郵箱部分?內(nèi)容進(jìn)行修改:
注意:
Windows 環(huán)境下的一些文本編輯工具會(huì)在編輯文本時(shí)增加額外“空格”,并修改“換行符”。
推薦使用?Notepad3?、Visual Studio Code?這類代碼編輯器。
點(diǎn)擊 Winbox 左側(cè)導(dǎo)航?System
?菜單的子菜單?Scripts
?,鼠標(biāo)?雙擊?系統(tǒng)日志郵件腳本?email_log_worker
?。
進(jìn)入腳本配置界面后,在?Source
?處粘貼腳本內(nèi)容:

3.4.完善系統(tǒng)資源郵件腳本
復(fù)制?Fox_ROS_Email_Res_Worker.conf?中的腳本內(nèi)容,和?系統(tǒng)日志郵件腳本?一樣,需要修改?郵箱部分?內(nèi)容。
如果實(shí)際網(wǎng)絡(luò)環(huán)境中沒有使用 PPPoE 撥號(hào),則需要額外修改有關(guān)?外網(wǎng)接口部分?內(nèi)容:
鼠標(biāo)?雙擊?系統(tǒng)資源郵件腳本?email_res_worker
?,進(jìn)入腳本配置界面,在?Source
?處粘貼腳本內(nèi)容:

設(shè)置完成后,如果之前禁用了兩個(gè)系統(tǒng)郵件腳本的定時(shí)器,現(xiàn)在可以重新將其啟用。
點(diǎn)擊 Winbox 左側(cè)導(dǎo)航?System
?菜單的子菜單?Scheduler
?,使用鼠標(biāo)?單擊?選中定時(shí)器,點(diǎn)擊?Enable
?按鈕進(jìn)行啟用:

至此 RouterOS 的自動(dòng)化相關(guān)設(shè)置已經(jīng)完成,系統(tǒng)會(huì)定時(shí)自動(dòng)升級(jí),并將系統(tǒng)的日志、資源信息發(fā)送給指定的郵箱。
結(jié)合 PVE 的周期性重啟及備份策略,保證了路由器系統(tǒng)的健康運(yùn)行。
不過(guò)目前使用的是 IPv4 網(wǎng)絡(luò),RouterOS 的 IPv6 功能也不夠完善,等待日后更新。
根據(jù)官網(wǎng)信息,RouterOS 會(huì)在未來(lái)版本中加入?container
?相關(guān)內(nèi)容,值得期待。
下期見。