rsync官网:

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

rysnc优缺点

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不通的

7. 8.

工作方式

rsync服务端总结1

rsync使用总结2: