rsync服务
rsync服务介绍
属于一款实现全量及增量复制同步的软件工具
rsync命令简单应用
rsync==cp
[root@backup ~]# rsync /etc/sysconfig/network /tmp/
[root@backup ~]# tree /tmp
/tmp
├── network
└── vmware-root
rsync==scp
[root@backup ~]# scp -rp /tmp/ 172.16.1.31:/tmp/
root@172.16.1.31's password:
network 100% 22 8.1KB/s 00:00
[root@backup ~]# rsync -rp /tmp/ 172.16.1.31:/tmp/
root@172.16.1.31's password:
说明:同步目录数据时, /tmp/目录后有/信息,表示将目录下面的数据内容进行备份同步
同步数据时,/tmp/目录后没有/信息,表示将目录及目录下面的数据内容进行备份同步
rsync == rm
[root@backup /]# rsync -r --delete /null/ 172.16.1.31:/tmp/tmp/
root@172.16.1.31's password:
说明,rsync实现删除目录中数据内容过程,就将一个空目录和一个数据的目录进行同步最终,会将有的数据
目录中的文件进行清空
#rsync工作方式
1.本地备份方式
语法格式:
Local: rsync [OPTION...] SRC... [DEST]
rsync -----数据备份传输命令
option -----可以输入一下和rsync传输数据有关的参数
src -----要进行备份的数据(文件/目录)
dest -----将数据信息备份到什么位置(相应路径中)
实践练习:
[root@backup /]# cat /tmp/ok.txt
127.0.0.1 localhost localhost.localdomain localhost4 lo
2.远程shell数据传输模式
采用此种方式进行数据同步复制,类似于上文中提到的scp远程复制命令功能,
语法格式:
Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
Push: rsync [OPTION...] SRC... [USER@]HOST:DEST
pull方式语法说明
rsync ---数据备份传输命令
option ---可以输入以下和rsync传输数据有关的命令
【USER@】HOST: ---需要指定以什么用户身份登录到远程主机,如果省略USER信息,
表示以当前用户信息登录
HOST:登录地址或域名信息
SRC -----指定远程主机要传输过来到本地的数据信息
dest ------将数据保存到本地的什么路径中
push方式语法说明
rsync ---数据备份传输命令
option ---可以输入以下和rsync传输数据有关的命令
【USER@】HOST: ---需要指定以什么用户身份登录到远程主机,如果省略USER信息,
表示以当前用户信息登录
HOST:登录地址或域名信息
SRC -----指定本地主机要传输到远程主机的数据
dest -----将本地的数据保存到远端的什么路径中
3.守护进程传输模式
Access via rsync daemon:
Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST
USER@]HOST:: ----指定远程连接的认证用户
SRC ----指定相应的模块信息
[DEST] ----将远程数据保存到本地的路径信息
USER@]HOST:: ----指定远程连接的认证用户
SRC ----指定本地要进行推送的数据信息
[DEST] ----远程进行保存数据的模块信息
4.rsync守护进程部署流程
1).服务端部署流程
第一里程:检测是否反正rsync
第二里程:编写配置文件 vim /etc/rsyncd.conf
uid = rsync
gid = rsync
port = 874
fake super = yes
use chroot = no
max connections = 200
timeout = 300
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore errors
read only = false
list = false
hosts allow = 172.16.1.0/24
hosts deny = 172.16.1.0/24
auth users = rsync_backup
secrets file = /etc/rsync.password
[backup]
comment = "backup dir by lele"
path = /backup
[web]
comment = "backup dir by lele"
path = /web
[dev]
comment = "backup dir by lele"
path = /dev/data



模块以上的为全局配置
第三里程:创建备份目录管理用户
useradd rsync -M -s /.sbin/nologin
第四里程:创建备份目录
mkdir /backup
chown -R rsync.rsync /backup
第五里程:创建认证文件
echo "rsync_backup:123456" >>/etc/rsync.password
chmod 600 /etc/rsync.password
第六个里程:启动rsync服务
[root@backup run]# rsync --daemon
[root@backup run]# failed to create pid file /var/run/rsyncd.pid: File exists
failed to create pid file /var/run/rsyncd.pid: File exists(启动服务报错)
-bash: failed: command not found
[root@backup run]# rm -rf rsyncd.pid(解决方法)
[root@backup run]# rsync --daemon
[root@backup run]#
[root@backup run]# ps -ef|grep rsync
0root 655 1 0 18:51 ? 00:00:00 /usr/bin/rsync --daemon --no-detach
root 2369 2191 0 23:16 pts/1 00:00:00 grep --color=auto rsync
rsync --daemon
[root@backup run]# netstat -lntup|grep rsync(rsync服务端口号一般为873)
tcp 0 0 0.0.0.0:874 0.0.0.0:* LISTEN 655/rsync
tcp6 0 0 :::874 :::* LISTEN 655/rsync
2).客户端部署流程
第一里程:确认安装软件
第二里程:创建认证密码文件
第三里程:创建密码
第三里程:进行数据
[root@nfs01 ~]# rsync -avz /etc/hosts rsync_backup@192.168.100.41::backup --password-file=/etc/rsync.password
sending incremental file list
hosts
sent 241 bytes received 43 bytes 568.00 bytes/sec
total size is 414 speedup is 1.46
###扩展说明:rsync启动服务扩展参数
--port 指定rsync服务端口号信息,默认873
--config=xxx 指定识别的rsync服务的配置文件
#@#rsync服务扩展应用
1.守护进程多模块功能配置
第一步:添加模块
vim /etc/rsyncd.conf
第二步:创建多模块目录
mkdir /xxx
chown -R rsync.rsync
第三步:重启rsync服务
killall rsync
rsync --daemon
第四步:进行测试检测
(2).守护进程的排除功能实战
第一种数据备份排除功能
参数:exclude
rsync -avz /test_dir/ --exclude=b --exclude=d rsync_backup@172.16.1.41::web --password-file=/etc/rsync.password
rsync -avz /test_dir/ --exclude={b ,d} rsync_backup@172.16.1.41::web --password-file=/etc/rsync.password
rsync -avz /test_dir/ --exclude={b..d} rsync_backup@172.16.1.41::web --password-file=/etc/rsync.password
第二种数据备份排除功能:--exclude-from=file
将排除的文件或目录名写在一个文件目录然后用 --exclude=文件即可
rsync -avz /test_dir/ --exclude-from=./exclude_file.txt rsync_backup@172.16.1.41::web --password-file=/etc/rsync.password
(3)守护进程来创建备份目录
rsync -avz /test_dir/ --exclude-from=./exclude_file.txt rsync_backup@172.16.1.41::web/sa/ --password-file=/etc/rsync.password
rsync -avz /test_dir/ --exclude-from=./exclude_file.txt rsync_backup@172.16.1.41::web/dev/ --password-file=/etc/rsync.password
rsync -avz /test_dir/ --exclude-from=./exclude_file.txt rsync_backup@172.16.1.41::web/dba/ --password-file=/etc/rsync.password
(4)守护进程访问控制配置
三种情况:
1.只有白名单,白名单网段或主机信息允许,其余阻止
2.只有黑名单,黑名单网段或主机信息阻止,其余允许
3.有黑名单也有白名单,白名单网段或主机信息允许,黑名单网段或主机信息阻止,其余允许
建议只选择前两种方式配置
hosts allow = 172.16.1.0/24
hosts deny = 0.0.0./32
(5)守护进程无差异同步
存储服务器有,备份服务器也有,存储服务器没有,备份服务器也没有
rsync -avz /test_dir/ --delete rsync_backup@192.168.100.41::web --password-file=/etc/rsync.password
说明:此参数谨慎使用,否则可能情况备份目录。
如果想快速情况目录数据,可以用使用此参数
(6)守护进程的列表功能配置
list = fales
说明:表示是否列表显示rsync服务端所有模块信息
[root@nfs01 ~]# rsync rsync_backup@172.16.1.41::
backup "backup dir by oldboy"
web "backup dir by oldboy"
dev "backup dir by oldboy"

浙公网安备 33010602011771号