rsync配置及使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rsync配置及使用相关的知识,希望对你有一定的参考价值。


用户-防火墙-外网交换机(通讯)-负载均衡-web集群-内网交换机-后端设备


前端运维需要负责的

mysql/oracle database Server ---缓存存储Server--NFS存储Server--Rsync Backup Server


后端运维人员需要负责的(DBA 后端运维)


2.虚拟软件网络配置

要求:当虚拟机无法上网的时候,知道如何排错(排错能力)


3.虚拟主机系统的优化

####1.防火墙必须关闭

####2.selinux关闭

####3./tmp目录权限1777,不能改变


4.虚拟主机的使用

####1.如何制作快照(vm hyper-v 微软虚拟软件)

####2.如何进行克隆(1.清空 2删除---CentoOS6的克隆)


#备份服务器讲解

####什么是Rsync软件

Rsync是一款开源的、快速的、多功能的、可实现全量级增量的本地或远程数据同步备份的优秀工具

官方文档:

https://download.samba.org/pub/rsync/rsync.html

全量级增量

cp mv scp ------全量复制

rsync ------增量复制

#Rsync 简介

提示信息:

man rsync 查看客户端

man rsyncd.conf 查看服务端配置

Rsync Remote synchronization

Rsync 具有可使用本地和远程两台主机之间的数据快速复制同步镜像、远程备份的功能,


rsync 可以替换的命令:(1vs4)

scp cp ls rm 

```


[[email protected] ~]# rsync /etc/hosts /opt/

[[email protected] ~]# ls /opt/hosts 

/opt/hosts

[[email protected] ~]# ls -l /opt/hosts 

-rw-r--r-- 1 root root 361 Oct  2 23:05 /opt/hosts

[[email protected] ~]# cp /etc/hosts /mnt/

[[email protected] ~]# ls -l /mnt/hosts 

-rw-r--r-- 1 root root 361 Oct  2 23:05 /mnt/hosts

[[email protected] ~]#


#类似cp命令 相当于复制

-r --recursive recurse into directories

#递归复制目录

#cp -r 也是指递归的复制目录

[[email protected] ~]# ls /mnt/

etc  hosts

[[email protected] ~]# rsync -r /etc /mnt/


#scp 命令 远程复制

scp -rp /etc/hosts 10.0.0.31:/tmp

#scp -r 递归复制 scp会根据树结构进行遍历

#scp -p 保存修改时间、访问时间、状态时间 从原文件


[[email protected] mnt]# scp -rp /etc/hosts 10.0.0.31:/mnt

The authenticity of host ‘10.0.0.31 (10.0.0.31)‘ can‘t be established.

RSA key fingerprint is 4b:dd:da:2e:b2:a0:6e:86:4a:dc:05:46:1e:3a:fc:95.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added ‘10.0.0.31‘ (RSA) to the list of known hosts.

rootreverse mapping checking getaddrinfo for bogon [10.0.0.31] failed - POSSIBLE BREAK-IN ATTEMPT!

[email protected]‘s password: 

hosts                      100%  361     0.4KB/s   00:00  

NFS Server上已存在了这个文件

[[email protected] mnt]# ls

hosts

[[email protected] mnt]# rsync -rp /etc/hosts 10.0.0.31:/opt

reverse mapping checking getaddrinfo for bogon [10.0.0.31] failed - POSSIBLE BREAK-IN ATTEMPT!

[email protected]‘s password: 


[[email protected] opt]# ls

hosts  rh

[[email protected] mnt]# rsync /etc/hosts

-rw-r--r--         361 2017/10/02 21:31:56 hosts

[[email protected] mnt]# ls /etc/hosts

/etc/hosts


rm -f /tmp/*  #删除文件

mkdir /tmp/{1..10}.txt

mkdir /null -p

ls /null 

rsync -r --delete /null/ /tmp/

[[email protected] mnt]# mkdir /null 

[[email protected] mnt]# rsync -r --delete /null/ /tmp/

[[email protected] mnt]# ls /tmp/



```




rsync 工作场景

1定时备份+rsync 

对于网站内部人员的数据定时备份

2实时备份+rsync 

对于网站外部用户创建的数据,实时备份

全网备份方案

借助cron+rsync 把所有客户服务器数据同步到备份服务器

01.针对公司最重要数据备份混乱状况向领导提出全网数据的解决方案

02通过本地打包备份,然后rsync结合inotify应用把全网数据统一备份到一个固定存储服务器然后,在存储服务器上通过脚本检查并报警管理员备份结果

03定期将IDC机房的数据备份到公司的内部服务器防止数据丢失


rsync(1)                                                              rsync(1)


NAME

       rsync — a fast, versatile, remote (and local) file-copying tool


SYNOPSIS

       Local:  rsync [OPTION...] SRC... [DEST]

#本地同步

       Access via remote shell:

       #shell同步

         Pull: rsync [OPTION...] [[email protected]]HOST:SRC... [DEST]

         Push: rsync [OPTION...] SRC... [[email protected]]HOST:DEST

       Access via rsync daemon:

       #rsync 同步

         Pull: rsync [OPTION...] [[email protected]]HOST::SRC... [DEST]

               rsync [OPTION...] rsync://[[email protected]]HOST[:PORT]/SRC... [DEST]

         Push: rsync [OPTION...] SRC... [[email protected]]HOST::DEST

               rsync [OPTION...] SRC... rsync://[[email protected]]HOST[:PORT]/DEST



#本地同步方式


rsync [OPTION...] SRC... [DEST]


rsync /etc/hosts /mnt/


#通过shell远程方式 远程隧道方式

拉取

         Pull: rsync [OPTION...] [[email protected]]HOST:SRC... [DEST]

         

         Push: rsync [OPTION...] SRC... [[email protected]]HOST:DEST


         rsync -avz -e "ssh -p 22 " /etc/hosts 172.16.1.31:/backup --利用-e参数实现指定ssh加密隧道传输

语法说明:

1RSync 为同步命令

2[option...] 为同步时的参数选项

3[[email protected]]HOST 为Rsync 同步的远程连接用户和主机地址,USER表示数据传输到远程服务器上,传输数据用户身份的信息

4SRC为源,即待拷贝的分区、文件、目录等 ,和HOST之间使用冒号连接:

远程服务器资源(拉)

本地服务器资源(推)

拉 get 表示从远端把数据同步到执行命令的本地主机相就目录 

推 put 表示从本地主机执行命令把本地的数据同步到远端主机指定目录下


推的基本操作

rsync /etc/hosts [email protected]:/etc/


rsync -rp /etc [email protected]:/mnt #推送目录里需要使用-rp 

拉的基本操作

rsync [email protected]:/etct/hosts /etc    #拉到文件

  rsync -rp  [email protected]:/etc /mnt/     #拉取目录


#rsync 守护进行方式

Access via rsync daemon:

#rsync 同步

  Pull: rsync [OPTION...] [[email protected]]HOST::SRC... [DEST]

        rsync [OPTION...] rsync://[[email protected]]HOST[:PORT]/SRC... [DEST]

  Push: rsync [OPTION...] SRC... [[email protected]]HOST::DEST

        rsync [OPTION...] SRC... rsync://[[email protected]]HOST[:PORT]/DEST

#守护进程的两种部署方式

#1.服务端部署--rsync 

1.查看rsync 是否存在

rpm -qa rsync 

2.安装rsync 

yum install -y rsync 

3.编写配置文件(编写好配置文件,后续配置文件可以按照这个来)

vim /etc/rsyncd.conf

```

创建配置文件 

用户

uid=rsync #用户远端的命令使用rsync访问共享目录

#用户组

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

#日志文件,显示出错信息等 


[back] #模块名称

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.rsync_oldboy

#设置ip段及用户限制

screts file=/etc/rsync.password

#不存在的用户在进行认证时的密钥文件

```

#pid 文件作用管理服务进程 

1.停止进程更加方便

2.判断服务是否运行正在

4.创建备份目录的管理用户

useradd -s /sbin/nologin -M rsync

5.创建安全认证文件

echo "rsync_backup:oldboy123">/etc/rsync.password

chmod 600 /etc/rsync.password

6.创建备份目录

mkdir -p /backup

chown -R rsync.rsync /backup

7.启动rsync服务

rsync --daemon

#说明:rsync 端口为873(tcp)



#2.客户端部署--web服务推


1.查看rsync 是否存在

rpm -qa rsync 

2.安装rsync 

yum install -y rsync 

3.创建安全认证文件

echo "oldboy123">/etc/rsync.password

chmod 600 /etc/rsync.password



#推送数据

rsync -avz [email protected]::backup/oldboy.txt /mnt

#拉取数据

  rsync -avz /etc [email protected]::backup/














思考:

1.如何实现windows上实现rsync部署

2.rsync 免交换方式,rsync传输数据信息(rsync守护进程模式)

--password-file=/etc/rsync.password

将这里的内容当作密码

```

rsync -avz [email protected]::backup/oldboy.txt /mnt --password-file=/etc/rsync.password


```

rsync参数说明


-v --verbose 显示详细模式输出传输时的信息

-z --compress 传输时压缩以提高传输速率

-a --archive  归档模式,表示以递归 形式传输 文件,并保持 文件所有属性,等于rtopgDl


kill 杀手三人组

kill pid

pkill rsync #(模糊杀手,小心)

killall rsync

vim 复制多行

:19,21copy 21 将第19到21行的内容复制到21行以后

:19,21move 1 将第19到21行的内容移动到第1行之后

rsync服务的扩展功能

1.编写多模块功能配置

a复制多模块

```

[backup]

#模块名称

path=/backup


[nfsbackup]

#模块名称

path=/nfsbackup

```

b重启rsync服务

killall rsync 

rsync --daemon

c创建nfsbackup目录,授权

mkdir -p /nfsbackup

chown -R rsync.rsync /nfsbackup

d.测试连接

rsync -avzP /etc [email protected]::nfsbackup/ --password-file=/etc/rsync.password 

man rsyncd.conf 可以查看rsync的配置文件

graceful

kill -HUP `cat /var/run/rsyncd.pid` #-HUP  平滑删除进程

kill -USR2 `cat /var/run/rsyncd.pid` #-USR2 平滑删除进程

rsync 优点

1.增量备份同步,支持socket(daemon),集中备份

rsync 缺点

1.大量小文件同步时,比对时间较长,有的时候,rsync进程停止

解决方法:a.打包同步b.brdb(文件系统同步复制block块)

2.同步大文件;中断,未完整同步前为隐藏文件,同步完成为普通文件


rsync 排除文件

--exclude=a 

--exclude={a..b}

--exclude=a --exclude=c

--exclude-from=file.txt #文件中包含排除的文件名


本文出自 “安宇的博客” 博客,谢绝转载!

以上是关于rsync配置及使用的主要内容,如果未能解决你的问题,请参考以下文章

rsync配置及使用

rsync配置及优化

rsync配置及优化

rsync 和 配置及个人理解

rsync+ Notify配置解析及步骤详解

rsync同步工具的配置与使用