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