博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
定时备份windows机器上的文件到linux服务器上的操作梳理(rsync)
阅读量:6291 次
发布时间:2019-06-22

本文共 3159 字,大约阅读时间需要 10 分钟。

 

由于需要对网络设备做备份,备份文件是放到windows机器上的。现在需要将备份数据同步到linux备份机器上,想到的方案有三种:

1
2
3
1)将windows的备份目录共享出来,然后在linux服务器上进行挂载,最后对挂载目录进行定时同步。这种方式不太安全。
2)使用tftp、
sftp
方式,也不太安全。
3)推荐通过
rsync
方式(cwRsyncServer_4.1.0_Installer),windows机器到windows机器之间的定期同步也使用这种方式。

下面简单介绍下使用rsync方式的同步过程:

一、windows上的操作记录

1)在windows server上安装配置Cwrsyncserver,按照提示一步步安装即可,需要注意下cwrsyncserver有个设置用户与密码的地方,要么就改为自己的用户名与密码。比如用户Administrator,密码:123456,这个用户名与密码是一会启动服务时需要的,也就是你服务器的用户名和密码,如果感觉不安全,可以考虑在WINDOWS中创建一个用户名和密码

2)配置rsyncd.conf 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
use chroot = 
false                  
strict modes = 
false               
#不验证用户密码,     
hosts allow = 192.168.1.90         
#只允许ip为192.168.1.90的客户机来同步数据
max connections = 5                
#指定最大的连接数,默认是0即没有限制
lock 
file 
= rsyncd.lock
log 
file 
= rsyncd.log
port = 873                         
#默认就是873,也可以指定为其他端口
pid = 0                            
#pid和uid为0,表示指定匿名访问
uid = 0                          
    
[backup]                           
#模块名字,这个可以自定义
path = 
/cygdrive/d/Backup          
#选择备份路径,不支持中文
read 
only = 
yes                    
#只读模式
transfer logging = 
yes
list = no
auth 
users 
= Administrator         
#指定访问的用户名
secrets 
file 
/cygdrive/e/Setting/Rsync/rsync_db
.
ps   
#指定访问的用户名密码
   
特别注意:
以上Windows目录的写法,应该按照POSIX风格来写,默认配置文件的写法cygwin貌似不工作,而要写成cygdrive,如上面D:
/Backup
,要写成
/cygdrive/d/Backup

新建密码文件:E:\Setting\Rsync\rsync_db.ps

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

3)启动cwrsync服务(注意: 如果开启了防火墙,则防火墙规则中要添加Tcp端口873允许通信)

右键 我的电脑->管理->服务与应用程序->服务->RsyncServer->右键 属性->登陆-> 在此帐户输入有效的用户名(域用户、要有权限管理E盘的用户名哦),密码和、再次确认密码;此处使用域管理员帐号与密码(如果用户和密码无权限或错误,将无法启动RsyncServer服务)。启动RsyncServer服务,并修改属性为自动,以便后续开机就启动此服务。

服务启动成功后,就可以配置linux客户端了。

二、linux客户端(192.168.1.90)上的操作记录

1)先查看下能否连通windows机器(192.168.1.101)的873端口(rsync端口)。如下表示连接正常!

1
2
3
4
[root@backup ~]
# telnet 192.168.1.101 873
Trying 192.168.1.101...
Connected to 192.168.1.101.
Escape character is 
'^]'
.

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

1
2
3
4
[root@backup ~]
# cd /root
[root@backup ~]
# vim backup_passwd          #再将密码写入些文件中
PASSWD_123@bjk
[root@backup ~]
# chmod 600 backup_passwd    #改下权限,只有root用户能看。

3)linux服务器上要安装rsync环境。这里将windows备份数据同步到linux的/Win_Back目录下(为了安全考虑,可以不添加下面命令中的--delete参数)

1
[root@backup ~]
# rsync -av --progress --delete --port=873 --password-file=/root/backup_passwd Administrator@192.168.1.101::backup /Win_Back/

4)创建备份脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@backup ~]
# mkdir /root/backup
[root@backup ~]
# vim /root/backup/win_bak.sh
#!/bin/bash
#create by fengzehua
PASSWORD=
/root/backup_passwd
SOURCE=
'192.168.1.101::backup'
USER=Administrator
DEST=
/Win_Back/
echo 
"start backup file server"
/usr/bin/rsync 
-av --progress --delete --port=873 --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 
-av --progress --delete --port=873 --password-
file
=$PASSWORD $USER@$SOURCE $DEST
fi

5)定时备份任务,每小时执行一次同步操作

1
2
[root@backup ~]
# crontab -e
0 * * * *  
/bin/bash 
-x 
/root/backup/win_bak
.sh > 
/dev/null 
2>&1
***************当你发现自己的才华撑不起野心时,就请安静下来学习吧***************
分类: 
本文转自散尽浮华博客园博客,原文链接:http://www.cnblogs.com/kevingrace/p/5972563.html,如需转载请自行联系原作者
你可能感兴趣的文章
python2.7 之centos7 安装 pip, Scrapy
查看>>
机智云开源框架初始化顺序
查看>>
Spark修炼之道(进阶篇)——Spark入门到精通:第五节 Spark编程模型(二)
查看>>
一线架构师实践指南:云时代下双活零切换的七大关键点
查看>>
ART世界探险(19) - 优化编译器的编译流程
查看>>
玩转Edas应用部署
查看>>
music-音符与常用记号
查看>>
sql操作命令
查看>>
zip 数据压缩
查看>>
Python爬虫学习系列教程
查看>>
【数据库优化专题】MySQL视图优化(二)
查看>>
【转载】每个程序员都应该学习使用Python或Ruby
查看>>
PHP高级编程之守护进程,实现优雅重启
查看>>
PHP字符编码转换类3
查看>>
rsync同步服务配置手记
查看>>
http缓存知识
查看>>
Go 时间交并集小工具
查看>>
iOS 多线程总结
查看>>
webpack是如何实现前端模块化的
查看>>
TCP的三次握手四次挥手
查看>>