GVKun编程网logo

windows 环境下 cwRsync 定时文件同步的实现(windows定时执行)

4

本文将带您了解关于windows环境下cwRsync定时文件同步的实现的新内容,同时我们还将为您解释windows定时执行的相关知识,另外,我们还将为您提供关于CentOS7下rsync服务端与Win

本文将带您了解关于windows 环境下 cwRsync 定时文件同步的实现的新内容,同时我们还将为您解释windows定时执行的相关知识,另外,我们还将为您提供关于CentOS7 下 rsync 服务端与 Windows 下 cwRsync 客户端实现数据同步配置方法、cwRsync、cwRsync 4.0.5 文件同步配置步骤分享、cwrsync invalid uid nobody 解决方法的实用信息。

本文目录一览:

windows 环境下 cwRsync 定时文件同步的实现(windows定时执行)

windows 环境下 cwRsync 定时文件同步的实现(windows定时执行)

    在上一篇中介绍了 cwRsync 在 windows 环境下的配置及应用,但每次文件同步操作都需要手动执行一次脚本文件。这里介绍运用 windows 的计划任务实现定时的文件同步功能。

    我使用的是 win7 的系统,关于 xp 系统的计划任务设置可以在网上搜索到很多资料,在此不再作说明。这里我主要说明 win7 在设定任务计划时的细节和注意事项。

    1. 打开系统任务计划程序窗口。

    2. 任务计划窗口中选择 “创建基本任务”。

    3. 设置任务的触发器。

    

    4. 设置任务的操作,指定同步文件的脚本文件。

    5. 点击完成时选中打开任务属性的复选框。

    6. 目前为止设置的任务只能在每天的某个时刻执行操作,但我们需要这个任务每个一段时间就执行操作,就需要在任务的属性中进行详细设置了。

    这里设置任务在一天的时效内每分钟就执行一次同步操作。

    7. 在 “常规” 选项卡里指定运行任务时的账户。这里一般选择日常登录使用的账户。

    这样文件同步的定时任务就设定完毕了,并会在指定时刻去执行同步脚本文件了。

    最后在强调一点,无论在 windows 还是 Linux 环境下,需要同步文件目录的权限是值得注意的地方,因为很多时候不成功就是因为但前账户权限不够。包括我们在设置任务时绑定的运行任务的账户,需要保证这个账户有权限执行脚本文件。

CentOS7 下 rsync 服务端与 Windows 下 cwRsync 客户端实现数据同步配置方法

CentOS7 下 rsync 服务端与 Windows 下 cwRsync 客户端实现数据同步配置方法

最近需求想定期备份服务器 d 盘的数据到 Linux 服务器上面,做个笔记顺便写下遇到的问题

以前整过一个 win 下的 cwrsync(客户端)+rsync(服务端:存储)的 bat 脚本

和整过一个 Linux 下的 rsync(客户端)+rsync(服务端:存储)的 sh 脚本

这次整一个 Linux 下 rsync(服务端) +windows(客户端)的笔记

客户端:192.168.10.19(cwrsync-Windows)

服务端:192.168.10.20(rsync-Linux)

 

rsync 简介:

rsync 是 linux 系统下的数据镜像备份工具。使用快速增量备份工具 Remote Sync 可以远程同步,支持本地复制,或者与其他 SSH、rsync 主机同步。

 

1、Centos7-rsync 服务端配置:

[root@zabbix /]# vi /etc/rsyncd.conf  #创建配置文件,添加以下代码
log file = /var/log/rsyncd.log
[backup]
path = /data1/backup
comment = backup
uid = root
gid = root
port = 873
read only = no
write only = no
auth users = ktrsync
secrets file = /data1/rsyncd/rsyncd.pass
hosts allow = *
#hosts deny = 192.168.10.30   禁止数据同步的客户端IP地址,可以设置多个,用英文状态下逗号隔开
list = yes

配置参数说明,注意配置里面不要把这些中文复制进去了!
log file = /var/log/rsyncd.log   #日志文件位置,启动rsync后自动产生这个文件,无需提前创建。
[backup]    #自定义名称
path = /data1/backup   #Rsync服务端数据目录路径
comment = backup    #模块名称与[backup]自定义名称相同
uid = root  #设置rsync运行权限为root
gid = root  #设置rsync运行权限为root
port=873    #默认端口
read only = no   #设置为no,cwRsync客户端可上传文件,yes只读
write only = no  #设置为no,cwRsync客户端可下载文件,yes不能下载
auth users = ktrsync   #执行数据同步的用户名,可以设置多个,用英文状态下逗号隔开
secrets file = /data1/rsyncd/rsyncd.pass   #用户认证配置文件,里面保存用户名称和密码,后面会创建这个文件
hosts allow = *  #允许进行数据同步的客户端IP地址,可以设置多个,用英文状态下逗号隔开,都应许写*
hosts deny = 192.168.10.30  #禁止数据同步的客户端IP地址,可以设置多个,用英文状态下逗号隔开
list = yes  #显示Rsync服务端资源列表

2、创建用户认证文件

vi  /data1/rsyncd/rsyncd.pass  #配置文件,添加以下内容
ktrsync:123456  #格式,用户名:密码,可以设置多个,每行一个用户名:密码
:wq! #保存

3、设置文件权限

chmod 600 /etc/rsyncd.conf  #设置文件所有者读取、写入权限
chmod 600 /data1/rsyncd/rsyncd.pass #设置文件所有者读取、写入权限

4、启动 rsync

systemctl start rsyncd   #启动
systemctl stoprsyncd   #停止
systemctl restart rsyncd #重新启动

 

5、Windows-cwRsync 客户端

安装 cwrsync 客户端说明:https://www.cnblogs.com/Sungeek/p/9042049.html

cwRsync

cwRsync

下载地址:https://www.itefix.no/i2/cwrsync-get

包括客户端和服务端  版本4.0.5

一、windows服务器端安装配置
1.下载安装服务端
2.配置
配置了一下 rsyncd.conf

use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
pid file = rsyncd.pid # Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
[test]
path = /cygdrive/c/work
read only = false
transfer logging = yes

只是将 [test] 中的 path 改成了我本机的备份目录

[test]
path = /cygdrive/d/backup
read only = false
transfer logging = yes

修改配置内容如下,参数解释:

use chroot = false # 不使用chroot 
strict modes = false #使用静态模式

pid file = rsyncd.pid # 日志记录文件
log file = rsyncd.log # 日志记录文件 
[test] # 这里是认证的模块名,在client端需要指定 
path = /cygdrive/e/bak # 需要做镜像的目录,如e/bak(此目录需要给  SvcCWRSYNC 账户的读取权限)
transfer logging = yes # 记录传输日志
read only = yes # 只读
list = no # 不允许列文件
hosts allow = 192.168.0.0/255.255.252.0 
hosts deny = * # 禁止除192.168.1.0/255.255.255.0段外的连接IP
uid = 0 #解决运行后的 @ERROR : invalid uid 错误
gid = 0 #解决运行后的 @ERROR : invalid gid 错误 
lock file = rsyncd.lock #解决文件被锁定无法复制问题
#auth users = SvcCWRSYNC # 认证的用户名,这里没有这行,则表明是匿名 #secrets file = /cygdrive/c/pass/rsync.passwd # 认证文件名
启动服务
我们在控件面板-->管理工具-->服务,找到该服务 RsyncServer 并启动它

创建认证文件 c/pass/rsync.passwd 内容格式:用户:密码,如SvcCWRSYNC:star888 启动RsyncServer服务并保证开机自动重启,服务器端配置完毕。
二、 客户端安装配置
1.下载客户端安装
2.通过命令建一个批处理
3.rsync -av rsync://192.168.2.242/test /cygdrive/e/test

rsync -avzP --progress --delete --password-file=/cygdrive/c/pass/rsync.passwd SvcCWRSYNC@192.168.2.242::test /cygdrive/e/test
意思是将192.168.2.242的服务端下的test模块下的e:\bak目录同步到客户端的e:\test下
命令参数解释:
-avzP
-a 参数,相当于-rlptgoD,-r 是递归 -l 是链接文件,意思是拷贝链接文件;-p 表示保持文件原有权限;-t 保持文件原有时间;-g 保持文件原有用户组;-o 保持文件原有属主;-D 相当于块设备文件;
-z 传输时压缩;
-P 传输进度;
-v verbose,详细模式输出
-u是只同步已经更新的文件,避免没有更新的文件被重复更新一次,不过要注意两者机器时钟的同步
--progress
显示备份过程
--delete              删除那些DST中SRC没有的文件
--password-file    指定密码文件,只需包含密码而不用包含用户名
SvcCWRSYNC@192.168.2.242::test
SvcCWRSYNC      登陆服务器端的用户名  
192.168.2.242     服务器端的ip地址
test                   服务器端指定的认证模块名,多个同步作业靠此模块名区分  
/cygdrive/e/test   存放服务器端同步文件的本地目录

因为只是最简单的数据同步,所以就不使用 ssh 了,直接启动 rsync 服务就可以了。然后按照 usage 上面教的。
rsync -av /cygdrive/d/test localhost::test
完成了数据的同步工作,一切顺利。顺便说一下,/cygdrive/d 是安装完 cwRsync ,会自动将系统上所有的盘 mount 成 /cygdrive/x ,x 表示盘符,小写的,并把安装目录 mount 成 / 了。

二、linux作为server时与windows间的同步
1、准备机器,此时使用linux作为server
server---192.168.0.132 (linux)
client---192.168.0.202 (windows)

2、安装与配置linux主机的rsync
(1)查看linux上是否安装rsync:
#rpm -qa|grep rsync
若无则安装,或者使用tar编译安装
#rpm -ivh rsync-2.6.8-3.1.rpm

(2)打开rsync服务
#chkconfig xinetd on
#chkconfig rsync on

(3)创建 rsyncd.conf 文件
#touch /etc/rsyncd.conf
#vi /etc/rsyncd.conf(内容如下:)
uid = nobody
gid = nobody
max connections = 4

[www]
path = /www
comment = BACKUP WWW
ignore errors
read only = yes
list = no
auth users = wwwuser
hosts allow=192.168.0.202
secrets file = /etc/wwwuser.pass

(4)启动基于xinetd进程的rsync服务
#/etc/init.d/xinetd start

3、配置windows的rsync客户端 
(1)安装client端的rsync包
(2)打开cmd,执行同步计划:
cd C:\Program Files\cwRsync\bin
rsync -vzrtopg --progress --delete root@192.168.0.132::www /cygdrive/d/test
(此时须输入root用户的密码,就可进行同步了。)

定时任务

下面介绍一下如何通过windows中的“任务计划”来创建定时任务,执行定时同步。

      首先在客户端的机器上的: 控件面板->任务计划->点击“添加任务计划”, 在相应的弹出窗口中点击下一步,然后点击导航窗口中的“浏览”按钮,如下,并从中选择之前创建的批处理文件”dnt_sync.bat”:

     cwrsync3   

      这时系统会显示如下窗口提示当前计划任务执行方式,我这里选择每天执行(一次):

     cwrsync4

      到这里,系统就会创建一个叫dnt_sync的任务计划,同时在接下来的窗口中提示任务的开始执行时间:

    cwrsync5

 

      这里不做任何修改,直接点击下一步,接着是身份验证(通常是管理员身份),必定任务计划非同儿戏,要有足够的权限才可以玩的转:)

    cwrsync6

      最后点击完成,就创建了一个任务计划。只不过它是按天执行的,如果我们希望其每分钟执行一次又该怎么办呢,其实很简单,只要在用鼠标点击新创建的任务计划,并在弹出菜单中选择“属性”,这时在弹出窗口的“日程安排”中点击“高级按钮”,如下:

    cwrsync7

 

      这时就会弹出一个叫“高级计划选项”的子窗口,在其它做如下设置:

    cwrsync8

      到这里,这个计划任务就会每天24小时,以每分钟运行一次的方式来同步之前的那两个文件夹了。

      最近使用软件的时间超过了开发软件的时间,导致开发的代码量不像之前那么多了,呵呵。不过这类软件还是很有应用场景的,估计将来会用的上,故写作本文与大家分享的同时以“备份”处之。

cwRsync 4.0.5 文件同步配置步骤分享

cwRsync 4.0.5 文件同步配置步骤分享

测试成功,整理一份文档给你

同步工具:cwRsync

① 服务端:cwRsyncServer_4.0.5_Installer(安装过程会添加windows账户SvcCWRSYNC);客户端:cwRsync_4.0.5_Installer

② 服务端配置rsyncd.conf,web工程安全选项卡中为SvcCWRSYNC添加完全控制权限,例外端口:52326,创建密匙文件:server_key,最后启动服务

③ 客户端创建密匙文件:client_key,

④ 修改服务端和客户端密匙文件权限

"D:\Program Files\ICW\Bin\chmod.exe" -c 600 /cygdrive/d/"program files"/cwrsync/bin/client_key
"D:\Program Files\ICW\Bin\chown.exe" administrator /cygdrive/d/"program files"/cwrsync/bin/client_key

⑤ 本地同步服务器脚本
rsync -avz --progress --exclude=''*.config'' --delete /cygdrive/d/publish/chinahbnet/* rsync://xzl@192.168.1.9:52326/t_chinahbcom <D:\"Program Files"\cwRsync\bin\client_key
pause

需要注意的地方:

rsync://xzl@192.168.1.9:52326
而非
xzl@192.168.1.9:52326
如果没有rsync://则会提示ssh相关的错误
加密机制
您可能感兴趣的文章:
  • windows下使用cwRsync定期备份网站(服务器文件同步)
  • windows下文件同步工具 CwRsync 4.0.2 安装配置方法(图文)
  • Windows远程数据、文件同步工具cwRsync配置方法

cwrsync invalid uid nobody 解决方法

cwrsync invalid uid nobody 解决方法

使用rsync/cwrsync工具进行档案同步的时候出现了下面的错误:

C:Program FilescwRsyncbin>rsync.exe -av rsync://192.168.0.211:52326/test /cygdrive/e/www.01314.cn/rsync  
@ERROR: invalid uid nobody  
rsync error: error starting client-server protocol (code 5) at main.c(1506) [Receiver=3.0.7] 

解决办法:在rsyncd.conf文件中添加下面两行即可解决问题
uid = 0
gid = 0
完整rsyncd.conf文件

uid = 0 
gid = 0 
use chroot = false 
strict modes = false 
hosts allow = *  
log file = rsyncd.log  
pid file = rsyncd.pid  
port = 52326  
max connections = 4 
 
# Module definitions  
# Remember cygwin naming conventions : c:work becomes /cygwin/c/work  
#  
[test]  
path = /cygdrive/e/rsync/res  
read only = yes 
transfer logging = yes 
lock file = rsyncd.lock  
secrets file = /etc/rsyncd.pass 

cwRsync客户端密码文件的权限配置和invalid uid nobody疑难

cwRsync客户端密码文件的权限配置处置办法。

  windows 在 cygwin 下运用 chmod
  创立文件后,把权限改为600
  chmod 600 /rsyncd.passwd
  invalid uid nobody处置办法。
  修正配置文件:rsyncd.conf
  在文件开头添加
  uid = 0
  gid = 0

今天关于windows 环境下 cwRsync 定时文件同步的实现windows定时执行的介绍到此结束,谢谢您的阅读,有关CentOS7 下 rsync 服务端与 Windows 下 cwRsync 客户端实现数据同步配置方法、cwRsync、cwRsync 4.0.5 文件同步配置步骤分享、cwrsync invalid uid nobody 解决方法等更多相关知识的信息可以在本站进行查询。

本文标签: