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中间用[]括起来的内容)。