rsync实现文件同步

1.服务器
server:192.168.8.111
client:192.168.8.112

2.系统,软件版本
Linux:centos6.5
rsync-3.0.6

3.配置文件
server端配置文件
/etc/rsyncd.conf          主配置文件
/etc/rsyncd.passwd     密码文件
/etc/rsyncd.motd         rysnc服务器信息
/data/pobackup           服务端同步文件目录

client端配置文件
/etc/rsyncd.passwd     密码文件
/home/test                   客户端文件目录

注:以上配置文件rsync安装完毕后,都不存在,需要自己手动创建,server与client的配置文件我都放在了/etc/下
文件存储目录需要提前创建,至于测试文件,可以在运行同步数据时手动创建

4.server配置文件(在服务器192.168.8.111)
主配置文件
vim /etc/rsyncd.conf

pid file = /var/run/rsyncd.pid
port = 873
address = 192.168.8.111
uid = root 
gid = root
read only = no
hosts allow = 192.168.8.112
motd file = /etc/rsyncd.motd
log file = /var/log/rsync.log
transfer logging = yes

[rsyncpo]
path = /data/pobackup/
list = yes 
ignore errors
auth users = root
secrets file = /etc/rsyncd.passwd
comment = This is centos6.5 podata

密码文件
echo "root:123456" /etc/rsyncd.passwd 
chmod 600 /etc/rsyncd.passwd 将rsyncd.passwd这个密码文件的文件属性设为root拥有, 且权限要设为600, 否则无法备份成功!
写入用户名和密码,用户名是系统真实存在的用户名,密码不要写系统用户的真密码,可以随便写一个简单的密码,主要是给rsync同步文件来用的,如你的root用户系统密码为abc123,此处你可以写123456

rysnc服务器信息,定义rsync服务器信息的,用途是让用户知道此服务是干什么用的
vim /etc/rsyncd.motd

++++++++++++++++++++++++++++++++++++++++++++++
  Welcome to use the po data rsync services!
++++++++++++++++++++++++++++++++++++++++++++++

启动rsync服务
server端配置好后需要重启rsync服务(配置文件在/etc/rsyncd.conf下,不需要指定否则需要指定配置文件)
rsync --daemon
测试时多次重启时,可能会提示 /var/run/rsyncd.pid 文件已存在,手动将其删除,并kill掉rsync进程再次启动即可

5.client配置文件(在服务器192.168.8.112)
echo "123456" /etc/rsyncd.passwd
只配置一个密码就得了,这个密码就是server端的root配置的rsync使用的密码(非系统密码,你是否记得服务端的/etc/rsyncd.passwd密码文件)

6.执行文件同步(在端执行)
rsync -arvzP --delete --password-file=/etc/rsyncd.passwd /home/test/* root@192.168.8.111::rsyncpo

rsync 使用到的参数说明
-a 以archive模式操作、复制目录、符号连接;
-r 是递归 ;
-v 传输时的进度等信息,和-P有点关系,自己试试。可以看文档;
-P 传输进度;
-z 传输时压缩;
--delete 是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致
--password-file=/password/path/file来指定密码文件,这样就可以在脚本中使用而无需交互式地输入验证密码了,这里需要注意的是这份密码文件权限属性要设得只有属主可读。

/etc/rsyncd.passwd 此文件是client端的密码文件;
/home/test/ 客户端需要同步的目录;
root@192.168.8.111::rsyncpo  远程主机用户名@IP::模块名(这个模块名就是以server端配置文件/etc/rsyncd.conf中间用[]括起来的内容)。

参考资料
主要参考:https://www.jianshu.com/p/927e493075a6?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation


https://www.cnblogs.com/QicongLiang/p/9929904.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值