linux搭建rsync同步数据

有两台linux服务器,要从一台将数据备份到另外一台。这里环境是centos,centos已经默认安装rsync
主服务器ip:192.168.1.1
备服务器ip:192.168.1.2

  1. 在备份服务器上创建好配置文件
touch /etc/rsync.conf	// rsync配置
touch /etc/rsyncd.secrets	// 保存密码的文件
touch /etc/rsyncd.mote	// 欢迎页面,可有可无

2.在 rsync.conf 中添加

vi /etc/rsync.conf		// 这里有个大坑,配置里要把注释去掉,有中文注释会报错

log file = /var/log/rsyncd.log	#日志文件位置,启动rsync后自动产生这个文件
uid = root	#设置rsync运行权限为root
gid = root	#设置rsync运行权限为root
prot = 873	 #默认端口
[test]	#模块名称,自定义
path = /data/test	#保存文件的路径
read only = no	#设置rsync服务端文件为读写权限
use chroot=no	#默认为true,修改为no,增加对目录文件软连接的备份
uid=root
gid=root
list=true
hosts allow = 192.168.1.1 #主服务器的ip地址
auth users = root #用户名
secrets file = /etc/rsyncd.secrets	#密码文件
  1. rsyncd.secrets和rsyncd.mote
vi /etc/rsyncd.secrets
username:password	#用户名和密码

vi /etc/rsyncd.mote
welcome use rsync service	#随便写两句

备份服务器的rsync配置完成。

到主服务器上使用命令
将/home2/test/ 下的内容传到备份服务器上,test是rsync.conf中配置的模块名,会将内容保存到配置中的目录,这个命令需要输入密码

rsync -avSH /home2/test/ root@192.168.1.2::test

不需要输入密码的命令,只需要带上 --password-file=
密码文件需要创建,并且要需改权限为600

toucn /etc/password.txt
vi /etc/password.txt
123456

在密码文件中输入服务器密码,完成后直接执行以下命令就可以了

rsync -avH --port=873 --progress --delete /home2/test/ root@192.168.1.2::test --password-file=/etc/passwd.txt
命令参数说明
-a归档模式,主要保留文件属性,等同于-rlptgoD
-o保留文件所有者属性
-v显示详细信息
-p保留文件权限属性
-g保留文件所属组属性
-z传输过程中对数据进行压缩
-t保留修改时间属性
-r递归
- -progress显示数据传输的进度信息
- -password-file=FILE指定密码文件,将密码写入文件,实现非交互式数据同步,这个文件名也需要修改权限为600
- -delete删除那些仅在目标路径中存在的文件(源路径中不存在),在脚本中的数据同步经常加上此参数
- -list-only仅列出服务器模块列表,需要rsync服务器设置list=true

在搭建过程中碰到很多坑,最终填完坑亲测可行方案,就是那么简单。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值