rsync守护进程企业实际应用
1)守护进程多模块功能配置
第一个里程碑: 编写配置信息创建多模块
[root@backup ~]# vim /etc/rsyncd.conf
……
[nfsdata]
comment = "nfsdata dir by oldboy"
path = /backup/nfsdata
[nfsbackup]
comment = "nfsbackup dir by oldboy"
path = /backup/nfsbackup
第二个里程碑: 创建多模块指定的目录
#创建目录,并修改目录的权限
[root@backup ~]# mkdir /backup/nfs{data,backup} -p
[root@backup ~]# chown rsync.rsync /backup/nfs{data,backup}
#查看:
[root@backup ~]# ll /backup/nfs{data,backup} -d
drwxr-xr-x 2 rsync rsync 4096 Oct 12 10:05 /backup/nfsbackup
drwxr-xr-x 2 rsync rsync 4096 Oct 12 10:05 /backup/nfsdata
第三里程碑: 利用rsync客户端进行测试
[root@nfs01 ~]# rsync -avz /data/ rsync_backup@172.16.1.41::nfsdata --password-file=/etc/rsync.passsword
sending incremental file list
./
nfs.data
sent 78 bytes received 30 bytes 216.00 bytes/sec
total size is 0 speedup is 0.00
2)守护进程来创建备份目录
通过客户端命令创建服务端备份目录中子目录
推送/etc/services文件到 服务器/backup/sda/目录
[root@nfs01 ~]# rsync -avzP /etc/services rsync_backup@172.16.1.41::backup/dba/
sending incremental file list
created directory dba
services
641020 100% 19.34MB/s 0:00:00 (xfer#1, to-check=0/1)
推送/etc/services文件到 服务器/backup/sa/目录
sent 127417 bytes received 27 bytes 254888.00 bytes/sec
total size is 641020 speedup is 5.03
[root@nfs01 ~]# rsync -avzP /etc/services rsync_backup@172.16.1.41::backup/sa/
sending incremental file list
created directory sa
services
641020 100% 19.34MB/s 0:00:00 (xfer#1, to-check=0/1)
推送/etc/services文件到 服务器/backup/dev/目录
sent 127417 bytes received 27 bytes 254888.00 bytes/sec
total size is 641020 speedup is 5.03
[root@nfs01 ~]# rsync -avzP /etc/services rsync_backup@172.16.1.41::backup/dev/
sending incremental file list
created directory dev
services
641020 100% 18.71MB/s 0:00:00 (xfer#1, to-check=0/1)
sent 127417 bytes received 27 bytes 254888.00 bytes/sec
total size is 641020 speedup is 5.03
检查结果:
[root@backup backup]# tree.
├── dba
│ └── services
├── dev
│ └── services
└── sa
└── services
说明:
a 目标目录名称后要加上 “/”, 表示创建目录,否则变为修改传输文件名称了
b 利用客户端创建服务备份子目录时,只能创建一级子目录。
3) 守护进程的访问控制配置
第一个里程碑:在服务端配置文件,编写白名单策略或黑名单策略(只能取其一)
vim /etc/rsyncd.conf
hosts allow = 172.16.1.0/24
#hosts deny = 0.0.0.0/32
关于访问控制的说明:
-
白名单和黑名单同时存在时,默认控制策略为不匹配的传输数据信息全部放行
-
白名单单一存在时,默认控制策略为不匹配的传输数据信息全部禁止
-
黑名单单一存在时,默认控制策略为不匹配的传输数据信息全部放行
全局变量修改控制策略信息,rsync服务必须重启
第二个里程碑:客户端进行测试
[root@nfs01 backup]# rsync -avz /etc/services rsync_backup@10.0.0.41::data
@ERROR: Unknown module 'data'
rsync error: error starting client-server protocol (code 5) at main.c(1503) [sender=3.0.6]--------------------------------------------------------------------------------
[root@nfs01 backup]# rsync -avz /etc/services sync_backup@172.16.1.41::data
sending incremental file list
sent 29 bytes received 8 bytes 74.00 bytes/sec
total size is 641020 speedup is 17324.86
4)守护进程无差异同步配置
什么是无差异:
推模式:我有什么,你就有什么;我没有,你也不能有
拉模式:你有什么,我就有什么;你没有,我也不能有
总结:服务端客户端数据完全一致(一模一样)
实现无差异同步方法
第一个里程碑: 创建实验环境
[root@nfs01 ~]# ll /data/
total 16
drwxr-xr-x 2 root root 4096 Oct 12 10:29 a
drwxr-xr-x 2 root root 4096 Oct 12 10:40 b
drwxr-xr-x 2 root root 4096 Oct 12 10:29 c
drwxr-xr-x 2 root root 4096 Oct 12 10:29 d
第二个里程:进行第一次数据同步
[root@nfs01 ~]# rsync -avz --delete /data/ rsync_backup@172.16.1.41::backup/
sending incremental file list
./
a/
a/1.txt
a/2.txt
a/3.txt
b/
b/1.txt
b/2.txt
b/3.txt
c/
c/1.txt
c/2.txt
c/3.txt
d/
d/1.txt
d/2.txt
d/3.txt
sent 669 bytes received 255 bytes 1848.00 bytes/sec
total size is 0 speedup is 0.00
第三个里程:删除指定目录,并添加指定文件,测试无差异功能
#删除客户端中的 a/ 目录,再进行无差异传输
[root@nfs01 data]# rm a/ -rf
[root@nfs01 data]# rsync -avz --delete /data/ rsync_backup@172.16.1.41::backup/
sending incremental file list
./
deleting a/3.txt
deleting a/2.txt
deleting a/1.txt
deleting a/
sent 181 bytes received 14 bytes 390.00 bytes/sec
total size is 0 speedup is 0.00
【注意】无差异同步方法的应用
-
实现储存数据与备份数据完全一致(慎用)
rsync -avz --delete /data/ rsync_backup@172.16.1.41::backup /
-
快速删除大文件数据
1. mkdir /null --创建出一个空目录。 2. rsync -avz --delete /null/ /bigdata/ # 删除效率高于 rm -rf /bigdata
5)守护进程的列表功能配置
第一个里程碑: 在服务端配置文件中开启list列表功能
[root@backup ~]# vim /etc/rsyncd.conf
list = true
第二个里程碑:重启rsync服务
[root@backup ~]# killall rsync && sleep 1 && rsync --daemon
第三个里程碑: 客户端查看服务端模块信息
[root@nfs01 data]# rsync rsync_backup@172.16.1.41::
backup "backup dir by oldboy"
nfsdata "nfsdata dir by oldboy"
nfsbackup "nfsbackup dir by oldboy"
说明:
为了提升备份服务器安全性,建议关闭list列表功能