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

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

原文地址:https://www.cnblogs.com/think_fish/p/2126621.html