查看是否安装
which is rsync
启动
systemctl start rsyncd.service
systemctl enable rsyncd.service
重启动
systemctl restart rsyncd.service
检查启动
netstat -lnp|grep 873
查看进程
ps aux | grep rsyncd
语法
SRC表示同步源,DEST要同步到的位置,就是目标文件
rsync [OPTION]... SRC DEST
rsync [OPTION]... SRC [USER@]HOST:DEST
rsync [OPTION]... [USER@]HOST:SRC DEST
rsync [OPTION]... [USER@]HOST::SRC DEST
rsync [OPTION]... SRC [USER@]HOST::DEST
rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
“拉”复制是指从远程主机复制文件到本地主机
主机名在前面,表示从远程文件同步到本地电脑的目录
rsync [OPTION]... SRC [USER@]HOST:DEST
“推”复制是指从本地主机复制文件到远程主机
本地文件在前面,目标在后后面
推: rsync [OPTION...] SRC... [USER@]HOST::DEST
安装
常用场景一:密码同步
A主机配置
yum -y install rsync
vim /etc/rsyncd.conf,新建rsyncd.conf文件
uid = root
gid = root
use chroot = no
max connections = 200
timeout = 300
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log
[back]
path = /backup/
ignore errors
read only = false
list = false
hosts allow = 112.74.13.XXX/24
#hosts deny = 0.0.0.0/32
auth users = rsync
secrets file = /etc/rsync.password
增加授权账号和密码
echo 'rsync:123456' >/etc/rsync.password
并且设置600的文件权限给rsync.passwd
chmod 600 /etc/rsync.password
执行命令,开启rsync
/usr/bin/rsync --daemon
查看是否开启
ps -ef | grep rsync
杀死重来
kill 进程ID
新建共享目录,实例中直接输入要共享文件的就好
mkdir -p /backup/
客户端
B 客户机
1、安装rsync
[root@localhost /]# yum -y install rsync
2、新建授权密码
echo '123456'> /root/rsync.passwd
并且设置600的文件权限给rsync.passwd
chmod 600 /root/rsync.passwd
3、同步A服务器机的源码到B客户机
比如我的B客户机是/demo/databack/,需要同步A服务器记录配置的back这个同步属性
rsync -arzvtopg --delete [email protected]::back /demo/databack/ --password-file=/root/rsyncd.passwd
rsync 参数属性
-v, --verbose 详细模式输出。
-z, --compress 对备份的文件在传输时进行压缩处理。
-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD。
-r, --recursive 对子目录以递归模式处理。
-t, --times 保持文件时间信息。
-p, --perms 保持文件权限。
-o, --owner 保持文件属主信息。
-g, --group 保持文件属组信息。
如果这个时候,发起,提示说
rsync: failed to connect to 192.168.214.190: No route to host (113)
rsync error: error in socket IO (code 10) at clientserver.c(124) [receiver=3.0.6]
表示A服务机已经拒绝访问,防火墙的原因,关闭他
在A服务机关闭
systemctl stop firewalld
再来推送同步
[root@iZ9424loo5bZ databack]# rsync -arzvtopg --delete [email protected]::back /demo/databack/ --password-file=/root/rsyncd.passwd
receiving incremental file list
./
4545.txt
sent 49 bytes received 164 bytes 142.00 bytes/sec
total size is 0 speedup is 0.00
表示OK了
//1 实时同步
*/1 * * * * rsync -arzvtopg --delete [email protected]::back /demo/databack/ --password-file=/root/rsyncd.passwd