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计划任务。每一部分呢都没有说得很细,许多地方也还没有深入的研究。但是这一整套下来的备份方案是可行的。

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

  • 相关阅读:
    219. Contains Duplicate II
    189. Rotate Array
    169. Majority Element
    122. Best Time to Buy and Sell Stock II
    121. Best Time to Buy and Sell Stock
    119. Pascal's Triangle II
    118. Pascal's Triangle
    88. Merge Sorted Array
    53. Maximum Subarray
    CodeForces 359D Pair of Numbers (暴力)
  • 原文地址:https://www.cnblogs.com/think_fish/p/2126621.html
Copyright © 2011-2022 走看看