美文网首页
windows rsync传输到linux备份

windows rsync传输到linux备份

作者: Daisy小朋友 | 来源:发表于2020-08-13 09:54 被阅读0次

需求:

一些软件安装在windows上想要对上面的文件进行异地备份

解决:

后来找到cwRsync ——同步Windows文件到Linux,和linux的rsync一样的功效

安装:

链接:https://pan.baidu.com/s/1zDojiAAnpBaCDUCRiYzXzw
提取码:07l1
windows默认安装即可

图片.png
图片.png
图片.png
图片.png
图片.png
注意这里填写的是windows的用户名和密码,如果觉得administrator不安全,可以新建一个普通账户写在这里。

使用:

windows上配置rsyncd.conf 文件

cat rsyncd.conf 
use chroot = false
strict modes = false    #不验证用户密码,  
hosts allow = 192.168.1.204   #只允许192.168.1.204这个ip
log file = rsyncd.log  
pid file = rsyncd.pid
lock file = rsyncd.lock
port=8888    #端口修改为8888,注意再widnows的防火墙打开这个端口
uid=0     #pid和uid为0,表示指定匿名访问
gid=0
max connections=5

# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
[backup]       #模块名字,这个可以自定义
path = /cygdrive/d/wu     #选择备份路径,注意d和e要写成这样d:/wu----> /cygdrive/d/wu
read only = false
transfer logging = yes
list = no
auth users =Administrator   #指定访问的用户名
secrets file = /cygdrive/d/Program Files (x86)/ICW/rsync_db.ps     #指定访问的用户名密码

cat /cygdrive/d/Program Files (x86)/ICW/rsync_db.ps

Administrator:PASSWD

此密码文件里的格式是"用户名:密码",这个密码可以随意指定。但最好设置服务器的用户名和密码。如果觉得不安全,就另外创建一个用户名和密码,专门用于rsync同步之用。
但是千万要记得这个创建的用户名对E:\Setting\Rsync\rsync_db.ps这个密码文件要有修改的操作权限。

启动:

安装完成后windows-服务,就可以找到,修改好配置文件,重启服务即可


图片.png

linux客户端:

测试是否可以连通

[root@backup ~]# telnet 192.168.1.101 8888
Trying 192.168.1.101...
Connected to 192.168.1.101.
Escape character is '^]'.

进入Linux服务器,新建一个backup_passwd的文件,内容为在上面windows中RsyncServer中设定的密码内容:

cat backup_passwd
PASSWD

linux服务器上要安装rsync环境。这里将windows备份数据同步到linux的/Win_Back目录下

[root@elk backup]# cat win_back.sh 
#!/bin/bash
#create by chy
PASSWORD=/owncloud/backup/backup_passwd
SOURCE='192.168.1.101::backup'     #注意这里是IP:模块名字
USER=Administrator                          #windows用户名
DEST=/owncloud/backup/win_d/    
echo "start backup file server"
/usr/bin/rsync -avz --progress --delete --port=8888 --password-file=$PASSWORD $USER@$SOURCE $DEST
if [ $? -eq 0 ]
    then  
    echo "file server backup successfully!"
else
    echo "file server backup failure, try again:"
    /usr/bin/rsync -avz --progress --delete --port=9999 --password-file=$PASSWORD $USER@$SOURCE $DEST
fi

--delete表示如果有删除也更新,可以实现目标文件夹增加和删除和修改都更新的目的
放到linux的crontab中,每天执行一次,第一次全量备份会比较慢,后期都是增量备份会很快

0 1 * * * /bin/bash /svn/win_back.sh  >/dev/null 2>&1 &

问题排查

windows重启后rsync服务并没有启动,服务——RsyncServer,手动启动后报错
“本地计算机上的rsyncserver服务启动后停止,某些服务在未由其他服务或程序”


图片.png

后查看原来是rsyncserver异常结束时,pid文件未及时删除,导致再次启动服务时因检测到pid文件而认为服务已经启动。而windows的服务管理器并不以pid为检测标准,所以弹出启动又停止的提示
解决:
手动删除esyncserver产生的pid文件,再次启动即可
C:\Program Files (x86)\ICW\rsyncd.pid

相关文章

网友评论

      本文标题:windows rsync传输到linux备份

      本文链接:https://www.haomeiwen.com/subject/esesrktx.html