zoukankan      html  css  js  c++  java
  • rsync同步备份数据(包括SQLServer维护计划,windows计划任务)

      rsync_Serverrsync服务端下载

            rsync_Client rsync客户端下载

         会应用到rsync主要是因为公司项目的需要,关键是将SQLServer定时备份的数据库定时备份到另外一台备份服务器上去。还有其他的一些操作日志,上传的文件之类也需要定时备份到备份服务器上去。这个方案其实中间还涉及到一些其他的操作,也可以在这篇博文中说一下。一就是数据库的定时作业,二就是windows计划任务。我就按照操作的步骤逐步的来说一下吧。

    MS SQLServer维护计划

    维护计划(对象资源管理器的管理项中)主要是让SQLServer定时去执行一些任务。这些任务主要包括:

    Ø 检查数据的完整性

    Ø 执行对索引的维护

    Ø 更新数据库的统计信息

    Ø 定时备份数据库

    维护计划中比较重要的一项是计划的制定,就是计划操作是以什么频率,在具体哪个时间点去执行。新建维护计划,跳过向导页后出现如下图所示界面。


    点击上图中的更改,修改作业计划的属性,如下图。

     

    制定好了作业计划后,再往下便是选择维护的任务。如下图所示

     

    再往下就是选择要备份的数据库,以及备份文件的存储路径等设置。如下图所示。

     

    上图的滚动条下方还有一个选择是否压缩备份的选择,若磁盘空间比较紧张还是建议选择压缩备份。而且针对数据的重要性选择不同的备份方案,是全备,还是差异备份,是每天都备份还是每周,每月进行一次。

    根据上述方法制定维护计划后,在维护计划列表中会出现新增的维护计划,可以直接执行来测试计划是否可以成功将数据库备份。也可以修改维护计划,将时间改在与现在时间很相近的时间点,测试自动,定时执行作业是否成功。

    Rsync简介

    Rsync是一款强大的增量传输的工具,可以应用于同一台机器上不同目录的备份,也可以应用于不同机器之间的传输,备份。安装,配置简单。且为跨平台的工具,在linux,windows平台下都能应用。

    Rsync配置

    服务端安装

    Ø 安装cwRsyncServer_4.1.0_Installer.zip 服务端软件

    Ø 安装过程中会新创建一个svcCwrsyncwindows登录帐户,可以对其密码进行修改也可以为默认值(默认值未知)

    Ø 安装过程可以一直“下一步”,中间过程基本不用做修改,全部采用默认值便可

    Ø 安装后,服务默认为手动启动模式,到“管理工具/服务管理”里,启动“RsyncServer”服务,并修改“RsyncServer”为自动启动模式

    Ø 新建PATH的环境变量,变量名为PATH,变量值为rsync服务端安装目录下的bin目录路径

    密码文件

    Ø rsync服务端根目录下,新建任意名的txt文件,如test.txt。内容为username:password(自定义的用户名与密码)

    Ø 然后将txt拓展名更为secrets

    Ø 修改密码文件的权限。运行cmd 输入chmod 600 /test.secrets

    Ø 上步操作若没有任何提示表示设置成功

    配置文件

    Ø 配置文件在软件安装的根目录下的rsyncd.conf文件,用记事本打开

    Ø 配置端config文件,配置文件代码如下

    uid = 0    #运行rsync守护进程的用户 0为不限制

    gid = 0    #运行rsync守护进程的组 0为不限制

    use chroot = false

    strict modes = false

    hosts allow = *      #允许进入的主机,*表示不限制。此处的值可以为单一ip,也可以是某个网段

    log file = rsyncd.log   #rsync运行的日志文件,这表示在根目录下的rsyncd.log文件

     

    # Module definitions

    # Remember cygwin naming conventions : c:\work becomes /cygwin/c/work

    #

    [weblog]      #定义一个节点,或者说是入口

    path = /cygdrive/c/weblog    //传过来的文件所保存的路径(笔者也不懂linux所以这种表达方式。。。-_-!!)

    read only = false       //是否允许上传,若为true则表示任何上载的请求都会失败,默认为true

    transfer logging = yes

    allow users = test      #允许进入的用户,用户为在密码文件中输入的username的内容。

    secrets file = test.secrets   #密码文件

    hosts allow = *          #允许进入的主机

    hosts deny = *           #禁止进入的主机

    list file = true

     

     

    [database]

    path = /cygdrive/c/databackup

    read only = false

    transfer logging = yes

    allow users = test

    secrets file = est.secrets

    hosts allow = *

    hosts deny = *

    list file = true

    注:存储数据的文件目录需要添加SVRSYNC用户的完全控制权限(这点是从网上找到的,笔者经过实验似乎没有加svrsync的权限同样可以传输文件)。

    Ø 服务端的安装与配置就完成了

    客户端安装

    Ø 安装cwRsync_4.1.0_Installer.zip客户端软件

    Ø 新建PATH的环境变量(其实也可以不对环境变量进行修改,加上环境变量只是为了方便手动运行cmd

    密码文件

    Ø 密码文件与服务端的要完全一致(网上也用说,客户端的密码文件内容只能有密码,其他的都不需要。笔者试验表明,跟服务端的内容完全一致也没有问题)

    Ø 修改密码文件的权限chmod 600 /test.secrets 权限值只能为600

    同步命令

    Ø 若定义了PATH环境变量,直接输入rsync不加参数,程序会将所有的参数全部列出来,以供参考。

    Ø 若未义PATH环境变量,就先用CD 命令将路径转到rsync安装目录下的bin目录路径

    Ø 上传:rsync –avz /cygdrive/e/log –password-file=test.secrets username@ip address::weblog

    Ø 上面这个命令是将本机的e盘下的log文件夹的所有内容包括log文件夹本身,上传到@后的ip address然后在服务端的配置文件中定义的weblog节点下存储的path路径下

    Ø 还可以加上几个常用的参数—remove-source-files同步完成后删除源文件

    Ø --progress显示同步的进度

    Ø --delete让目录保持与服务器上的完全一致

    Ø 然后有一点,之前的简介中说rsync是增量传输,这里所谓增量就是覆盖。

    Ø 下载:下载的命令很简单,把前面的路径放到最后面就可以了。

    Ø Rsync –avz --password-file=test.secrets test@ip address::weblog /cygdrive/e/log

    Ø 上面的命令是将服务器上定义的weblog节点下的path路径的文件下载到本地的elog目录下

    以上的步骤,rsync的客户端也安装设置完成,运行cmd,输入命令便可以测试是否能同步文件了。之下介绍一下用windows计划任务来实现自动,定时,同步传输文件。

    Windows计划任务

    新建windows计划任务(在客户端设置)

    Ø 新建任务(非基本任务),弹出如上图对话框

                                                                                          

    Ø 输入名称,如:weblogbackup,描述,如:知识产权平台操作日志备份

    Ø Tab标签切换至“触发器”,点击新建。触发器表示所建的任务将在什么条件下启动运行。如下图,表示每天的151358这个时间执行任务。

                                                                                 

    Ø Tab标签切换至操作,设置任务将要执行哪些操作。点击新建,如下图。

                                                                                  

    上图的操作是运行rsync.exe程序,所以是“启动程序”,路径为rsync安装目录下的bin目录下的rsync.exe的路径。在参数栏输入:-avz /cygdrive/e/weblog --password-file=test.secrets test@ip address::weblog /crgdrive/e/weblog是表示要将本机E盘下的WEBLOG文件夹中的内容同步到ip address(192.168.1.524)机器上。--password-file=test.secrets是事先已经设置好的密码文件。test@是密码文件中设置好的用户名为test(密码文件的格式为username:password)。::weblog是该同步遵从rsync服务端配置文件中[weblog]节点的配置。

    Ø 点击确定完成windows计划任务的设置。

     

     

    结束语:以上是最近公司项目采用的一个同步,自动,定时备份文件的方案。本篇文章说到了MS SQLServer的定时维护计划,rsync的安装配置,以及windows计划任务。每一部分呢都没有说得很细,许多地方也还没有深入的研究。但是这一整套下来的备份方案是可行的。

    所以在这里记录下来,与各位同行们分享之,算是抛砖引玉。各位大牛们肯定会有各种看法,意见与建议,希望能提出来,共同进步!

  • 相关阅读:
    MOS管基本构造和工作原理
    压控恒流源电路
    TI博客文章-4-20mA电流环路发送器入门
    node.js发http请求
    node.js之web开发 koa入门
    nodejs入门开发与常用模块
    node.js安装与入门使用
    node.js和前端js有什么区别
    php hash_hmac 与python hmac 区别
    redis命令使用
  • 原文地址:https://www.cnblogs.com/think_fish/p/2126621.html
Copyright © 2011-2022 走看看