一、问题描述 某项目客户要求把阿里云上一台ECS非核心的mysql库做备份,具体要求如下: 1、每天1:00对mysql数据库进行完全备份。 2、备份文件存放到阿里云的NAS平台上。 3、保留5天的备份副本。 TPS:运行mysql的ECS的操作系统为windows201264位mysql的版本为MariaDB10。2本地备份路径在C:mysqlbackup(因为只有一个系统盘,没得选择) 看似很简单的问题,中间在实施过程中,还是遇到一些坑,特地作一下记录,以备后续参考。二、实施过程 2。1编写mysql的备份脚本1、mysql的自动备份脚本echooffsetYmddate:,4date:5,2date:8,2cdC:ProgramFilesMariaDB10。2binmysqldumphlocalhosturootpsingletransactionopteventstriggersroutinesBitsmC:itopmysqlbackupitsmYmd。sqlforfilespC:itopmysqlbackupsm。sqld5ccmdcdelpath mysqldump参数说明:singletransaction:该选项在导出数据之前提交一个BEGINSQL语句,BEGIN不会阻塞任何应用程序且能保证导出时数据库的一致性状态。它只适用于多版本存储引擎,仅InnoDB。本选项和locktables选项是互斥的,因为LOCKTABLES会使任何挂起的事务隐含提交。要想导出大表的话,应结合使用quick选项。opt:等同于adddroptable,addlocks,createoptions,quick,extendedinsert,locktables,setcharset,disablekeys该选项默认开启,可以用skipopt禁用。event:导出事件triggers:导出触发器routines:导出存储过程以及自定义函数 forfiles参数说明:pPath指定Path,表明要从哪里开始搜索。默认的文件夹是当前工作目录,该目录通过键入句号(。)指定。注:绝对路径应该包含在双引号中,且路径应该由反斜杠分割:example:D:HOMEDesktop62backupmSearchMask 按照SearchMask搜索文件。默认的SearchMask是。。s 指示forfiles在子目录中搜索。cCommand 在每个文件上运行指定的Command。带有空格的命令字符串必须用引号括起来。默认的Command是cmdcechofile。d〔{}〕〔{MMDDYYYYDD}〕 选择日期大于或等于()(或者小于或等于())指定日期的文件,其中MMDDYYYY是指定的日期,DD是当前日期减去DD天。如果未指定或,则使用。DD的有效范围是032768。? 在命令提示符下显示帮助。2、设置脚本的静默执行 mysqlbak。vbs,内容如下:SetwsCreateObject(Wscript。Shell)ws。runcmdcmysqlbak。bat,vbhide 参数说明:mysqlbak。bat:mysql备份脚本文件名。2。2设置定时计划 1、任务计划》创建基本任务 2、设置触发器 3、设置操作 2。3同步备份文件至NAS1、安装SyncBackPro软件2、创建任务 1)点击添加按钮,创建任务 2)选择任务的类型 TPS:备份:不会删除目标端的文件,如果此文件在源端不存在的话。同步:是双向同步,最终两边的文件会达到一致。镜像:以源为标准,同步到目标源,如果目标端的文件在源中不存在,则目标端的文件会被删除掉。 3)选择同步文件的位置 4)选择要同步的源文件夹和目标文件夹 3、创建定时计划 1)创建计划任务 2)设置计划任务 三、注意事项 1、设置windows计划时,操作阶段,必须在起始于设置脚本的路径,否则bat不能成功执行。具体如下图所示: 附Windows系统tracert命令详解 1:作用 tracert是一个简单的网络诊断工具,可以列出分组经过的路由节点,以及它在IP网络中每一跳的延迟。(这里的延迟是指:分组从信息源发送到目的地所需的时间,延迟也分为许多的种类传播延迟、传输延迟、处理延迟、排队延迟等,是大多数网站性能的瓶颈之一) 2:用法(可参看简单实用的Windows命令(一)) tracert命令的格式为:tracert〔d〕〔hmaximumhops〕〔jhostlist〕〔wtimeout〕〔R〕〔Ssrcaddr〕〔4〕〔6〕targetname。 、d 表示不将地址解析成主机名。 、hmaximumhops 表示搜索目标的最大跃点数。 、jhostlist 表示与主机列表一起的松散源路由(仅适用于IPv4)。 、wtimeout 表示等待每个回复的超时间(以毫秒为单位)。 、R 表示跟踪往返行程路径(仅适用于IPv6)。 、Ssrcaddr 表示要使用的源地址(仅适用于IPv6)。 、4和6 表示强制使用IPv4或者IPv6。 、targetname 表示目标主机的名称或者IP地址。 3:实例 命令执行结果的说明: 31:tracert命令用于确定IP数据包访问目标所采取的路径,显示从本地到目标网站所在网络服务器的一系列网络节点的访问速度,最多支持显示30个网络节点。 32:最左侧的,1,2,3,48,表明在我使用的宽带(北京宽带)上,经过7(不算自己本地的)个路由节点,可以到达百度的服务;如果是电信可能有不同;其他的IP,也有可能不同;各位可以自行测试一下; 33:中间的三列,单位是ms,表示我们连接到每个路由节点的速度,返回速度和多次链接反馈的平均值; 34:后面的IP,就是每个路由节点对应的IP,每个IP代表什么,各位可以通过4(推荐的站长工具)去了解 35:如果返回消息是超时,则表示这个路由节点和当前我们使用的宽带,是无法联通的,至于原因,就有很多种了,比如:特意在路由上做了过滤限制,或者确实是路由的问题等,需要具体问题具体分析; 36:如果在测试的时候,大量的都是和返回超时,则就说明这个IP,在各个路由节点都有问题 37:一般10个节点以内可以完成跟踪的网站,访问速度都是不错的;10到15个节点之内才完成跟踪的网站,访问速度则比较差,如果超过30个节点都没有完成跟踪的网站,则可以认为目标网站是无法访问的。 38:在Unix平台上,traceroute命令就相当于windows平台上的tracert命令 4:推荐一个查询IP或者域名信息的工具(http:tool。chinaz。com)