19.rsync同步

发表于 linux 分类,标签:

一、单个主机本地之间的数据传输

1、将a目录内容同步到b目录
rsync -avz --progress a/ b
2、将 /tmp/2021/a/hell.txt 文件复制到 /tmp/2021/b/ 目录下
rsync --progress /tmp/2021/a/hell.txt /tmp/2021/b/


二、ssh通道来传输数据

1、将 /tmp/2021/a/ 目录内容同步到远程主机的 /tmp/2021/c 目录(需输入密码)
rsync -r --progress /tmp/2021/a/ mysql@192.168.136.136:/tmp/2021/c -e 'ssh -p 22'


三、守护进程模式

服务端配置
设置 selinux 为 disabled,需要重启生效
vi /etc/selinux/config


SELINUX=disabled

1、安装
yum install rsync
2、配置文件:/etc/rsyncd.conf
vi /etc/rsyncd.conf
uid = mysql                        #运行进程的用户
gid = mysql                        #运行进程的用户组
port = 873                         #监听端口
use chroot = no                    #安全性,内网一般不考虑,设为no
max connections = 200              #最多有多少个客户端连接我
timeout = 300                      #超时时间,秒
pid file = /var/run/rsyncd.pid     #pid文件
lock file = /var/run/rsync.lock    #传输时会给文件加锁
log file = /var/log/rsyncd.log     #日志文件
ignore errors                      #传输过程中遇到错误,自动忽略
read only = false                  #可读可写
list = false                       #不允许列表
hosts allow = 192.168.136.0/24     #允许的IP段
#hosts deny =                      #拒绝
auth users = rsbak                 #这是个虚拟用户
secrets file = /etc/rsync.password #虚拟用户对应的密码文件
[backup]                           #模块
path=/tmp/2021/a                   #客户端来同步,就是同步该目录
3、授权
chown -R mysql.mysql /tmp/2021/a
4、在 /etc/rsync.password 中添加虚拟用户
echo "rsbak:hadoop" > /etc/rsync.password
chmod 600 /etc/rsync.password
5、启动服务端, 以守护进程方式
rsync --daemon --config=/etc/rsyncd.conf
或: systemctl start rsyncd
6、添加开机启动
echo "/usr/bin/rsync --daemon --config=/etc/rsyncd.conf" >> /etc/rc.local


客户端配置

1、配置密码文件,文件里只存放密码
echo "hadoop" > /etc/rsync.password
chmod 600 /etc/rsync.password
2、从服务端拉取文件
rsync -avz --progress rsbak@192.168.136.135::backup /tmp/2021/c --password-file=/etc/rsync.password
3、往服务端推送文件
rsync -avz --progress /tmp/2021/c/ rsbak@192.168.136.135::backup --password-file=/etc/rsync.password
4、排除指定文件和目录
rsync -avz --progress --exclude=hell.txt rsbak@192.168.136.135::backup /tmp/2021/c --password-file=/etc/rsync.password
rsync -avz --progress --exclude=/135/ rsbak@192.168.136.135::backup /tmp/2021/c --password-file=/etc/rsync.password
rsync -avz --progress --exclude-from=/tmp/2021/excefile.conf rsbak@192.168.136.135::backup /tmp/2021/c --password-file=/etc/rsync.password
vi /tmp/2021/excefile.conf
/135/
hell.txt
————————————————
版权声明:本文为CSDN博主「sunset_ggz」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。


0 篇评论

发表我的评论