博主使用ROS已经有很长一段时间了,但经常会忘记备份配置与数据库,加上ROS本身自带的User-Man数据库并不是非常稳定,1年中总会出现1-2次数据丢失的情况。所以费了一定功夫才找到真正可用自动备份并发送电邮的方法(我用的ROS版本为5.24和5.26,均可正常使用),现分享给大伙。

脚本如下:(需要按自己的电邮信息来设定)

  1. #定义全局变量
  2. :local from "您的邮箱"
  3. :local user "邮箱账号"
  4. :local password "邮箱密码"
  5. :local to "您的邮箱(同第一行)"
  6. #只需要更改cc 后""中为客户的邮箱即可
  7. :local cc "接收者的邮箱"
  8. :local address "123.125.50.133"
  9. :local router "接收到的邮箱附件名"
  10. #ROS 系统备份
  11. /system backup save name=($router."-".[:pick [/system clock get date] ].[:pick [/system clock get date] ].[:pick [/system clock get date] ]);
  12. #ROS UserMan数据库备份
  13. /tool user-manager database save name=($router."-".[:pick [/system clock get date] ].[:pick [/system clock get date] ].[:pick [/system clock get date] ]);
  14.  
  15. #延迟1秒,目的是文件已经备份好了,然后再执行下面的步骤,否则下面的步骤发现没有备份文件时报错,从而导致你的脚本失效
  16. :delay ;
  17. #把系统备份发送到邮箱
  18. /tool e-mail send server=($address) port= cc=($cc) from=($from) user=($user) password=($password) to=($to) subject=($router."-".[:pick [/system clock get date] ].[:pick [/system clock get date] ].[:pick [/system clock get date] ].".backup") file=($router."-".[:pick [/system clock get date] ].[:pick [/system clock get date] ].[:pick [/system clock get date] ].".backup") body=($router."-".[:pick [/system clock get date] ].[:pick [/system clock get date] ].[:pick [/system clock get date] ].".backup");
  19. #把Userman数据库备份发送到邮箱
  20. /tool e-mail send server=($address) port= cc=($cc) from=($from) user=($user) password=($password) to=($to) subject=($router."-".[:pick [/system clock get date] ].[:pick [/system clock get date] ].[:pick [/system clock get date] ].".umb") file=($router."-".[:pick [/system clock get date] ].[:pick [/system clock get date] ].[:pick [/system clock get date] ].".umb") body=($router."-".[:pick [/system clock get date] ].[:pick [/system clock get date] ].[:pick [/system clock get date] ].".umb");
  21. #再次延迟20秒,目的是让上面的步骤即确保备份的文件都发送出去了再执行下面的删除操作
  22. :delay ;
  23. #删除刚才备份到ROS本地的文件(如果你空间足够、脚本执行每月/年才执行一次,你可以删除下面这三段脚本)
  24. /file remove ($router."-".[:pick [/system clock get date] ].[:pick [/system clock get date] ].[:pick [/system clock get date] ].".backup");
  25. /file remove ($router."-".[:pick [/system clock get date] ].[:pick [/system clock get date] ].[:pick [/system clock get date] ].".umb");

方法2:
需要自己先在Tools-Email中配置Email服务器:(测试备份正常,但发邮件似乎有点问题,时好时坏)

  1. #定义参数
  2. :global to "test@qq.com"
  3. :global who "MikroTik"
  4. :global naming ($who."-".[:pick [/system clock get date] ].[:pick [/system clock get date] ].[:pick [/system clock get date] ])
  5. #备份
  6. /system backup save name=$naming;
  7. /export file=$naming;
  8. /tool user-manager database save name=$naming;
  9. #发送邮件
  10. /tool e-mail send to=$to subject=($naming . "Backup") file=($naming . ".backup"); :delay ;
  11. /tool e-mail send to=$to subject=($naming . "rsc") file=($naming . ".rsc"); :delay ;
  12. /tool e-mail send to=$to subject=($naming . "umb") file=($naming . ".umb"); :delay ;
  13. #删除备份
  14. /file rem [/file find name=($naming . ".backup")];
  15. /file rem [/file find name=($naming . ".rsc")];
  16. /file rem [/file find name=($naming . ".umb")];
  17. :log info ("System Backup emailed at " . [/sys cl get time] . " " . [/sys cl get date])

ROS 5.x自动定时备份并发送到邮箱(实用)的更多相关文章

  1. SQL2008实现数据库自动定时备份——维护计划

    在SQL Server中出于数据安全的考虑,所以需要定期的备份数据库.而备份数据库一般又是在凌晨时间基本没有数据库操作的时候进行,所以我们不可能要求管理员 每天守到晚上1点去备份数据库.要实现数据库的 ...

  2. [转]mysql自动定时备份数据库的最佳方法-支持windows系统

    网上有很多关于window下Mysql自动备份的方法,可是真的能用的也没有几个,有些说的还非常的复杂,难以操作. 我们都知道mssql本身就自带了计划任务可以用来自动备份,可是mysql咱们要怎么样自 ...

  3. windows系统——mysql自动定时备份数据库的最佳方法

    网上有很多关于window下Mysql自动备份的方法,可是真的能用的也没有几个,有些说的还非常的复杂,难以操作. 我们都知道mssql本身就自带了计划任务可以用来自动备份,可是mysql咱们要怎么样自 ...

  4. Mysql数据库自动定时备份软件推荐--MySqlBackupFTP(免费,亲测可用,附使用图示)

    MySqlBackupFTP是一款Mysql数据库自动定时备份软件,免费版本就基本上可以满足我们的需求,不需要什么破解版,可直接官网下载安装使用. 先看结果(日志): 软件界面: 可以设定计划任务,每 ...

  5. 黄聪:VPS实现自动定时备份网站数据以及Mysql数据库到百度云同步盘

    建站多了,备份成了头疼的问题,因为你不知道你的VPS什么时候会宕机或者服务商跑路,一旦网站数据丢失,那么相当于前功尽弃了,所以自己研究出了一套自动备份的方法. 需要的东西: 1.一个VPS(虚拟空间没 ...

  6. Cisco设备自动定时备份配置

    前言 当我们管理的网络设备为个位数的时候,手动的把配置通过tftp方式copy出来还是可以的.但是当我们管理几十台甚至上百台(有点夸张,都这个级别了肯定用专业的运维软件或者开发运维平台进行管理)的时候 ...

  7. Centos使用crontab自动定时备份mysql的脚本

    在我们网站上线之后免不了需要备份数据库,为什么要备份呢?我给大家列出了3个理由. 1.防止数据丢失 2.防止数据改错了,可以用来恢复 3.方便给客户数据 以 上几点告诉我们要经常备份,当然我今天给大家 ...

  8. linux自动定时备份web程序和mysql数据库

    前些天受朋友说linux定时备份不知道怎么搞,叫帮忙处理一下.由于这段时间正闲着,所以也就欣然答应.由于朋友对linux不懂也希望我将操作的过程记录下来,也就是越详细越好.所以写得比较$%^& ...

  9. Linux VPS自动定时备份网站文件和MYSQL数据库到FTP空间(LNMP)

    如果我们网站更新不是很频繁,我们可以定期手动进行备份网站文件和MYSQL数据库导出.如果我们网站数据更新频繁,且数据尤为重要,建议要采用定期自动 备份,至少需要多备份数据,无论我们选择何种优秀的VPS ...

随机推荐

  1. Csharp--Read Csv file to DataTable

    在网上找的资料都不怎么好使,许多代码一看就知道根本没有考虑全面. 最后找到一个好用的,在codeproject上,这位老兄写成了一个framework,太重了. http://www.codeproj ...

  2. 【WPF高级】Cue or Hint or Watermark or Placehoder in Controls(为控件添加提示,水印,占位符)

      通过Style实现对Texbox添加水印 <Style x:Key="placeHolder" TargetType="{x:Type TextBox}&quo ...

  3. C#学习笔记-图像处理篇(一)绘制公章

    上个月免费帮别人做事,就一直在服务员和程序员中来回切换,所以好多事情都弄得乱糟糟的,家里也是乱七八糟的,所以学习这一块也放了一段时间. 刚刚开始当服务员的时间看到了形形色色的人,觉得很好玩,他们每个人 ...

  4. Shell(C++实现,CodeBlocks+GCC编译)

    程序效果: 只实现了login .cd .ls .cat 四个命令.而且只能在 Windows 下运行. 代码: //main.cpp 1 #include <iostream> #inc ...

  5. java异常面试题

    1.try{}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? 也许你的答案是在return之前,但往更细地说, ...

  6. 第39课 Qt中的事件处理(下)

    1. 事件的传递过程 (1)操作系统检测到用户动作时,会产生一条系统消息,该消息被发送到Qt应用程序 (2)Qt应用程序收到系统消息后,将其转化为一个对应的QEvent事件对象,并调用QObject: ...

  7. mybatis缓存

    mybatis缓存http://www.cnblogs.com/QQParadise/articles/5109633.htmlhttp://www.mamicode.com/info-detail- ...

  8. 前端数据可视化echarts.js使用指南

    一.开篇 首先这里要感谢一下我的公司,因为公司需求上面的新颖(奇葩)的需求,让我有幸可以学习到一些好玩有趣的前端技术,前端技术中好玩而且比较实用的我想应该要数前端的数据可视化这一方面,目前市面上的数据 ...

  9. linux perf - 性能测试和优化工具

    Perf简介 Perf是Linux kernel自带的系统性能优化工具.虽然它的版本还只是0.0.2,Perf已经显现出它强大的实力,足以与目前Linux流行的OProfile相媲美了. Perf 的 ...

  10. java-工具类-读取配置文件

    java读取配置文件,当发现文件被修改后则重新加载 package com.zg.config; import java.io.File; import java.io.FileInputStream ...