定时备份RouterOS配置并上传到FTP服务器
起因
前段时间RDS数据库过期,我忘记备份,导致本博客挂了一个多月
本来以为本博客死透了,结果在Wayback Machine里面找到了博客的存档(算是之前写了点有用的文章积下的功德吧)
成功复活本博客后痛定思痛,以后要把所有能备份的东西都备份了
首先先把路由器系统备份下,要不然辛辛苦苦配置的防火墙规则没了就GG了
操作
-
创建脚本
在【System】-【Scripts】中新建一个脚本
在Name
中填入自定义脚本名,第二步需要用
在Source
内填入以下内容:local date [/system clock get date] :local year [:pick $date 0 4]; :local month [:pick $date 5 7]; :local day [:pick $date 8 10]; :local time [/system clock get time] :local hour [:pick $time 0 2] :local minute [:pick $time 3 5] :local filename ("/MikroTik-".$year.$month.$day."-".$hour.$minute) :local fullfilename ($filename.".backup") /system backup save name=($filename) /tool fetch address=<FTP服务器IP> upload=yes user=<FTP服务器账号> password=<FTP服务器密码> port=21 mode=ftp src-path=($fullfilename) dst-path=("<FTP服务器路径>".$fullfilename) /delay delay-time=2s /file/remove [:pick ($fullfilename) 1 999]
其中倒数第三行里有四个配置项,具体含义如下
<FTP服务器IP>
:NAS或其他FTP服务器IP,例如10.0.0.20
<FTP服务器账号>
:NAS或其他FTP服务器账号
<FTP服务器密码>
:NAS或其他FTP服务器密码
<FTP服务器路径>
:NAS或其他FTP服务器路径,例如/backup/routeros/
群晖的FTP功能需要手动打开,路径为:共享文件夹名+后续路径
最后两行是删除刚刚生成的备份文件,如果需要再RouterOS内保留的话,删掉最后两行即可
-
创建定时任务
在【System】-【Scheduler】中新建一个定时任务
在Name
中填入自定义定时任务名,任意填写
在On Event
内填入一下内容:execute script="<脚本名>"
其中
<脚本名>
为第一步自定义脚本名称 -
测试
上传成功,搞定!
参考
RouterOS 脚本实现每日自动备份配置并上传到NAS
MikroTik RouterOS 备份配置及其自动化
Scripting - RouterOS - MikroTik Documentation