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"

 

posted @ 2021-03-31 23:55  弓长虎三  阅读(143)  评论(0)    收藏  举报