找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 14184|回复: 4

[脚本] ROS自动备份发送到邮箱

[复制链接]
发表于 2014-3-4 16:34:50 | 显示全部楼层 |阅读模式
购买主题 已有 19 人购买  本主题需向作者支付 3 铜板 才能浏览
routeros
发表于 2014-3-29 00:48:18 | 显示全部楼层
繁华 发表于 2014-3-4 16:35
学习教程
ROS软路由入门到精通教程

ROS自动备份发送到邮箱
routeros
回复

使用道具 举报

发表于 2014-3-29 13:19:00 | 显示全部楼层
繁华 发表于 2014-3-4 16:35
学习教程
ROS软路由入门到精通教程

发QQ群小心被封。
routeros
回复

使用道具 举报

发表于 2021-2-2 22:26:42 | 显示全部楼层
{
#定义全局变量
:local from "**062245@qq.com"
:local user "**3062245@qq.com"  #发件人邮箱帐号
:local password "******"   #发件人邮箱密码
:local to "**3062245@qq.com"
:local smtp "smtp.qq.com"
:local router "1500"  #设置路由器名字,收到邮件时,好区分是哪台路由器。
:local address
:set address [:resolve $smtp]
#ROS 系统备份
/system backup save name=($router."-".[:pick [/system clock get date] 7 11].[:pick [/system clock get date] 0 3].[:pick [/system clock get date] 4 6]);

#导出所有配置
/export             file=($router."-".[:pick [/system clock get date] 7 11].[:pick [/system clock get date] 0 3].[:pick [/system clock get date] 4 6]);

#延迟1秒,目的是文件已经备份好了,然后再执行下面的步骤,否则下面的步骤发现没有备份文件时报错,从而导致你的脚本失效
:delay 3;

#把系统备份发送到邮箱
/tool e-mail send server=($address) port=25 from=($from) user=($user) password=($password) to=($to) subject=($router."-".[:pick [/system clock get date] 7 11].[:pick [/system clock get date] 0 3].[:pick [/system clock get date] 4 6].".backup") file=($router."-".[:pick [/system clock get date] 7 11].[:pick [/system clock get date] 0 3].[:pick [/system clock get date] 4 6].".backup") body=($router."-".[:pick [/system clock get date] 7 11].[:pick [/system clock get date] 0 3].[:pick [/system clock get date] 4 6].".backup");

#把配置文档发送到邮箱
/tool e-mail send server=($address) port=25 from=($from) user=($user) password=($password) to=($to) subject=($router."-".[:pick [/system clock get date] 7 11].[:pick [/system clock get date] 0 3].[:pick [/system clock get date] 4 6].".rsc") file=($router."-".[:pick [/system clock get date] 7 11].[:pick [/system clock get date] 0 3].[:pick [/system clock get date] 4 6].".rsc") body=($router."-".[:pick [/system clock get date] 7 11].[:pick [/system clock get date] 0 3].[:pick [/system clock get date] 4 6].".rsc");

#把用户数据库文档发送到邮箱(Exchange好像不支持接收.umb)
/tool e-mail send server=($address) port=25 from=($from) user=($user) password=($password) to=($to) subject=($router."-".[:pick [/system clock get date] 7 11].[:pick [/system clock get date] 0 3].[:pick [/system clock get date] 4 6].".umb") file=($router."-".[:pick [/system clock get date] 7 11].[:pick [/system clock get date] 0 3].[:pick [/system clock get date] 4 6].".umb") body=($router."-".[:pick [/system clock get date] 7 11].[:pick [/system clock get date] 0 3].[:pick [/system clock get date] 4 6].".umb");

#再次延迟20秒,目的是让上面的步骤即确保备份的文件都发送出去了再执行下面的删除操作
:delay 20;

#删除刚才备份到ROS本地的文件(如果你空间足够、脚本执行每月/年才执行一次,你可以删除下面这三段脚本)
/file remove ($router."-".[:pick [/system clock get date] 7 11].[:pick [/system clock get date] 0 3].[:pick [/system clock get date] 4 6].".backup");
/file remove ($router."-".[:pick [/system clock get date] 7 11].[:pick [/system clock get date] 0 3].[:pick [/system clock get date] 4 6].".rsc");
/file remove ($router."-".[:pick [/system clock get date] 7 11].[:pick [/system clock get date] 0 3].[:pick [/system clock get date] 4 6].".umb");
routeros
回复

使用道具 举报

发表于 2021-2-3 13:37:21 | 显示全部楼层
本帖最后由 cspm333 于 2021-2-3 13:52 编辑

Snap4.jpg
做"信件已成功寄出"的確認,遇失敗則重新補寄直至成功寄出才中止。
避免遇上圖警示的寄件錯誤,而耽誤了任何一天的備份。


  1. :local mail "abc1234@mail.com"

  2. :local Name [/system identity get name]
  3. :local Date [/system clock get date]
  4. :local Time

  5. :local yy [:pick $Date 7 11]
  6. :local mm [:find 0,jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec [:pick $Date 0 3]]
  7. :if ($mm<10) do={:set mm "0$mm"}
  8. :local dd [:pick $Date 4 6]

  9. :local title
  10. :local backup "$Name_Backup_[$yy-$mm-$dd].backup"
  11. /system backup save name=$backup ; :delay 3s

  12. :local fin no
  13. :local send yes
  14. :do {
  15. :if ($send) do={
  16.   :set Time [/system clock get time]
  17.   :set title "$Name -- RouterOS Backup $yy/$mm/$dd $Time"
  18.   /tool e-mail send to=$mail subject=$title file=$backup
  19.   :set send no
  20. }
  21. :delay 11s
  22. :foreach i in=[/log find message~$title] do={
  23.   :set fin ([/log get $i topics]~"info")
  24.   :set send ([/log get $i topics]~"error")
  25. }
  26. } while=(!$fin)

  27. :log warning "System Backup emailed at $yy/$mm/$dd $Time (系統備份已由email寄出)"
  28. /file remove $backup
复制代码
routeros
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-4-24 01:37 , Processed in 0.065336 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表