rsync 的使用

查看是否安装

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

ssh同步

你可能感兴趣的:(rsync 的使用)