欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux rsync 远程同步部署篇

程序员文章站 2022-08-17 14:54:23
rsync官网: www.samba.org/ftp/rsync.html端口:873上机实战系列项目100台规模集群全网数据备份解决方案3、本项目提供免费实战讲解视频:Linux集群全网服务器数据备份解决方案实战视频http://edu.51cto.com/course/course_id-349 ......

rsync官网:

www.samba.org/ftp/rsync.html
端口:873
上机实战系列项目100台规模集群全网数据备份解决方案
3、本项目提供免费实战讲解视频:
linux集群全网服务器数据备份解决方案实战视频

Linux rsync 远程同步部署篇

rysnc优缺点

Linux rsync 远程同步部署篇

loacal---本地

本地两个目录之间的拷贝和两个主机之间的拷贝,cp,scp
用法(复制功能):
rsync -vzrtopg /zfd/test.txt /tmp = cp /zfd/test.txt /tmp
(删除功能):
rsync -avz --delete ./tmp1/ /zfd/ 
删除/zfd目录下多余的,只保留与./tmp1目录下有的数据一致并将./tmp1目录下有/zfd/目录下没有的复制到/zfd/目录下,即保持与./tmp1目录下数据一致就对了。
增量备份的功能,数据备份,数据同步

remote shell--ssh ---远端

push命令:rsync -avz hosts.zfd -e "ssh -p 22" oldboy@10.0.0.31:~/sjcx/
说明:将本地hosts.zfd 通过 ssh 传到 10.0.0.30oldboy用户~/sjcx/目录下
参数:avz v-显示 z-压缩;-e 指通过ssh的方式,及管道;-p 端口

rsync deamon---rsync服务端配置开始---

uname -r ---查看系统
cat /etc/redhat-release ---查看系统版本
rpm -qa rsync --查看是否安装rsync
yum install rsync -y ---安装rsync
rsync --version ---查看rsync 版本
vim /etc/rsyncd.conf ---配置rsyncd.conf文件,默认不存在,可man rsyncd.conf
/etc/rsyncd.conf 内容:

rsync_config----start
uid = rsync ### 虚拟用户,远端的命令使用rsync访问共享目录
gid = rsync ### 用户组
use chroot = no       ## 安全相关
max connections = 200 ## 最大连接数
timeout = 300         ## 超时时间
pid file = /var/run/rsyncd.pid  ## 进程对应的进程号文件
lock file = /var/run/rsync.lock ## 锁文件
log file = /var/run/rsync.log   ## 日志文件 出错 

[backup]        ## 模块名称     
path = /backup  ## 服务器端提供访问的目录
ignore errors   ## 忽略错误
read only = false  ## 可写
list = false       ## 不能列表 
hosts allow = 172.16.1.0/24
hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
##rsync_config----end

 [root@backup ~]# useradd rsync -s /sbin/nologin -m
-s --指定登录
-m--不建家目录,因为rsync 用户为虚拟用户
[root@backup ~]# tail -1 /etc/passwd
rsync:x:501:501::/home/rsync:/sbin/nologin

一系列设置过程

[root@backup ~]# rsync --daemon--起服务
[root@backup ~]# ps -ef|grep rsync|grep -v grep --查看是否已起服务
root       3223      1  0 06:25 ?        00:00:00 rsync --daemon

[root@backup ~]# mkdir /backup    ---创建访问目录
[root@backup ~]# ls -ld /backup/    ---查看属主属组
drwxr-xr-x 2 root root 4096 apr 22 06:27 /backup/

[root@backup ~]# chown rsync.rsync /backup/    ---修改属主属组均为rsync 
[root@backup ~]# ls -ld /backup/
drwxr-xr-x 2 rsync rsync 4096 apr 22 06:27 /backup/

/etc/rsync.password 虚拟用户密码配置

[root@backup ~]# vim /etc/rsync.password 
rsync_backup:oldboy       ---格式: 用户:密码   --皆为明文

[root@backup ~]# ls -l /etc/rsync.password  
-rw-r--r-- 1 root root 20 apr 22 06:34 /etc/rsync.password

[root@backup ~]# chmod 600 /etc/rsync.password   --密码文件权限设置
[root@backup ~]# ls -l /etc/rsync.password 
-rw------- 1 root root 20 apr 22 06:34 /etc/rsync.password

[root@backup ~]# lsof -i :873    ---查看端口方式1,已知端口,查看服务
command  pid user   fd   type device size/off node name
rsync   3223 root    3u  ipv4  17843      0t0  tcp *:rsync (listen)
rsync   3223 root    5u  ipv6  17844      0t0  tcp *:rsync (listen)
[root@backup ~]# netstat -lntup|grep 873   --查看端口方式2
tcp        0      0 0.0.0.0:873                 0.0.0.0:*                   listen      3223/rsync          
tcp        0      0 :::873                      :::*                        listen      3223/rsync          

设置开机自启动

[root@backup ~]# echo "/usr/bin/rsync --daemon" >> /etc/rc.local  
[root@backup ~]# tail -1 /etc/rc.local 
/usr/bin/rsync --daemon

排错

cat /var/run/rsync.log

rsync deamon---rsync服务端配置结束----

rsync deamon---rsync客户端配置--------

vim /etc/rsync.password ---客户端配置文件保存密码
oldboy      ---只保留服务端密码

chmod 600 /etc/rsync.password ---修改文件权限
ls -l /etc/rsync.password

mkdir -p /backup
cd /backup/

touch stu{01..100}
rsync -avz /backup/ rsync_backup@172.16.1.41::backup/ 连不通时
telnet 172.16.1.41 873
yum install telnet -y
/etc/init.d/iptables stop
netstat -lntup |grep 873

[root@nfs01 backup]# rsync -avz /backup/ rsync_backup@172.16.1.41::backup/
password:   ----提示输入密码,即oldboy

[root@nfs01 backup]# rsync -avz /backup/    rsync_backup@172.16.1.41::backup/ --password-file=/etc/rsync.password ---使用/etc/rsync.password中的密码,避免手动输入密码

push方法1:rsync -avz /backup/ rsync_backup@172.16.1.41::backup/ --password-file=/etc/rsync.password 
push方法2:rsync -avz /backup/ rsync://rsync_backup@172.16.1.41/backup/ --password-file=/etc/rsync.password

pop方法1:rsync -avz rsync_backup@172.16.1.41::backup/ /tmp/ --password-file=/etc/rsync.password 
pop方法2:rsync -avz rsync://rsync_backup@172.16.1.41/backup/ /tmp/ --password-file=/etc/rsync.password

说明: /backup/ --本地目录,即客户端目录
rsync_backup@172.16.1.41::backup/ ::backup/---指服务端配置中的[backup]模块
或rsync://rsync_backup@172.16.1.41/backup/ ---表示服务端模块
rsync_backup---指服务端rsync用户
/etc/rsync.password --指服务端rsync_backup用户的密码

参数 --exclude 
[root@nfs01 backup]# rsync -avz --exclude={stu100,stu099,stu088} /backup/ rsync://rsync_backup@172.16.1.41/oldboy/ --password-file=/etc/rsync.password

参数 --delete 无差异同步 与源同步,危险
参数 --bwlimit 限速传输 单位bps
[root@nfs01 backup]# rsync -avz --bwlimit=100 /backup/ rsync://rsync_backup@172.16.1.41/oldboy/ --password-file=/etc/rsync.password

注意事项

rsync在使用两个eth1的ip传输时,需要保证在同一网段,不在同一网段是ping不通的
Linux rsync 远程同步部署篇

7.Linux rsync 远程同步部署篇
8.Linux rsync 远程同步部署篇

工作方式

Linux rsync 远程同步部署篇

rsync服务端总结1

Linux rsync 远程同步部署篇
Linux rsync 远程同步部署篇
Linux rsync 远程同步部署篇
Linux rsync 远程同步部署篇

rsync使用总结2:

Linux rsync 远程同步部署篇