rsync同步
一、单个主机本地之间的数据传输
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
————————————————