####################################################
#Script 引用電腦茶包Blog
#http://www.minitw.com/routeros/automatic-backup-routeros-and-email-send-backup-file.htm
#Script Name:backup_send_gmail
#-----------------------------------------
#SMTP伺服器位置
:local SMTP "smtp.gmail.com"
#寄件人
:local MailFrom "kuoabc@gmail.com"
#收件人
:local MailTo "kuoabc@gmail.com"
#寄出後是否刪除已存檔的Log(/file裡的檔案)
#0=保留 1=刪除
:local DeleteLogFile 1
:local BackupFileName
:set BackupFileName ([/system identity get name] . "_Backup-" . [:pick [/system clock get date] 7 11] . [:pick [/system clock get date] 0 3] . [:pick [/system clock get date] 4 6] . ".backup");
/system backup save name=($BackupFileName);
:delay 10;
/tool e-mail set from=$MailFrom;
/tool e-mail set address=[:resolve $SMTP];
/tool e-mail send to=$MailTo subject=([/system identity get name] . " -- RouterOS Backup " . [:pick [/system clock get date] 7 11] . [:pick [/system clock get date] 0 3] . [:pick [/system clock get date] 4 6]) file=[$BackupFileName] start-tls=yes ;
:delay 10;
:if ($DeleteLogFile =1) do={
/file rem [/file find name=($BackupFileName)];
}
:log info ("System Backup emailed at " . [/sys cl get time] . " " . [/sys cl get date] . " (系統備份已由email寄出)");
#---
#########################################################
加入自動備份的步驟:
一、到Tools->Email,加入Email Settings,
Server:74.125.129.109,port:587
From:您的gmail,如abc@gmail.com
User:的gmail帳號,如abc
Password:為您的gmail密碼
因為gmail支援SMTP的TLS 加密認證(參考gmail說明),gmail的smtp伺服器為smtp.gmail.com,port為587,當時解析的IP為74.125.129.109,當然您也可以在server欄位填入smtp.gmail.com
二、此時設定完後,可以按【Send Email】並簡單輸入寄件資料測試是否可由Routeros將信寄出,記得TLS要打勾。
Address:
Port:
User:
Password:
To:
From:
以上六個欄位與前面一樣即可
Subject:測試的標題
Body:測試的內容
以上設定好後再按【Send Email】,接著登入到Gmail收信看看。
三、 登入Gmail若有收到測試信,就可接下一步加入自動備份的Script。
四、到System->Script,按【+】加入一個Script Name,這邊我們用backup_send_gmail,接著再將最上面的Script中紅色的字樣(:local SMTP可以不改) ,寄件人,收件人及是否在寄出備份檔後刪除這三個項目,修改完後,貼到Source的欄位內,再按【Apply】,最後按【Run Script】測試是否能成功的備份及寄出。
五、這時可以到【Files】看是否有新增一個備份檔,若還未寄出則檔案應該還在,若寄出後則可到【Log】中看到成功寄出的訊息。
六、到gmail看是否有收到自動寄出的備份檔
七、成功寄出後,我們再將這個Script加到我們的排程當中,到System->Scheduler->【+】(參考RouterOS Scheduler說明)。
Name:自訂
Start Date: 第一次執行Script的日期
Start Time:第一次執行Script的時間
Interval:間隔時間,若此處設0s,則代表僅執行一次(在Start time的時候),否則就會依interval的值間隔執行,這邊我們填1d,代表從start time起,每間隔一天的時間就會自動執行。
On Event:裡面要填您要執行的Script名稱,因為我們的script是命名為backup_send_gmail,所以這裡要填backup_send_gmail
最後按apply就大功告成了!