您的位置:首页 > 其它

rsync配置及使用

2017-10-11 19:15 169 查看
用户-防火墙-外网交换机(通讯)-负载均衡-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
```

[root@backup ~]# rsync /etc/hosts /opt/
[root@backup ~]# ls /opt/hosts
/opt/hosts
[root@backup ~]# ls -l /opt/hosts
-rw-r--r-- 1 root root 361 Oct 2 23:05 /opt/hosts
[root@backup ~]# cp /etc/hosts /mnt/
[root@backup ~]# ls -l /mnt/hosts
-rw-r--r-- 1 root root 361 Oct 2 23:05 /mnt/hosts
[root@backup ~]#

#类似cp命令 相当于复制
-r --recursive recurse into directories
#递归复制目录
#cp -r 也是指递归的复制目录
[root@backup ~]# ls /mnt/
etc hosts
[root@backup ~]# rsync -r /etc /mnt/

#scp 命令 远程复制
scp -rp /etc/hosts 10.0.0.31:/tmp
#scp -r 递归复制 scp会根据树结构进行遍历
#scp -p 保存修改时间、访问时间、状态时间 从原文件

[root@backup 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!
root@10.0.0.31's password:
hosts 100% 361 0.4KB/s 00:00
NFS Server上已存在了这个文件
[root@nfs01 mnt]# ls
hosts

[root@backup 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!
root@10.0.0.31's password:

[root@nfs01 opt]# ls
hosts rh

[root@backup mnt]# rsync /etc/hosts
-rw-r--r-- 361 2017/10/02 21:31:56 hosts
[root@backup mnt]# ls /etc/hosts
/etc/hosts

rm -f /tmp/* #删除文件
mkdir /tmp/{1..10}.txt
mkdir /null -p
ls /null
rsync -r --delete /null/ /tmp/
[root@backup mnt]# mkdir /null
[root@backup mnt]# rsync -r --delete /null/ /tmp/
[root@backup 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...] [USER@]HOST:SRC... [DEST]
Push: rsync [OPTION...] SRC... [USER@]HOST:DEST

Access via rsync daemon:
#rsync 同步
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

#本地同步方式

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

rsync /etc/hosts /mnt/

#通过shell远程方式 远程隧道方式
拉取
Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]

Push: rsync [OPTION...] SRC... [USER@]HOST:DEST

rsync -avz -e "ssh -p 22 " /etc/hosts 172.16.1.31:/backup --利用-e参数实现指定ssh加密隧道传输
语法说明:
1RSync 为同步命令
2[option...] 为同步时的参数选项
3[USER@]HOST 为Rsync 同步的远程连接用户和主机地址,USER表示数据传输到远程服务器上,传输数据用户身份的信息
4SRC为源,即待拷贝的分区、文件、目录等 ,和HOST之间使用冒号连接:
远程服务器资源(拉)
本地服务器资源(推)
拉 get 表示从远端把数据同步到执行命令的本地主机相就目录
推 put 表示从本地主机执行命令把本地的数据同步到远端主机指定目录下

推的基本操作
rsync /etc/hosts root@10.0.61:/etc/

rsync -rp /etc root@10.0.0.61:/mnt #推送目录里需要使用-rp
拉的基本操作
rsync root@m01:/etct/hosts /etc #拉到文件
rsync -rp root@m01:/etc /mnt/ #拉取目录

#rsync 守护进行方式
Access via rsync daemon:
#rsync 同步
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
#守护进程的两种部署方式
#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 rsync_backup@172.16.1.200::backup/oldboy.txt /mnt
#拉取数据
rsync -avz /etc rsync_backup@172.16.1.200::backup/

思考:
1.如何实现windows上实现rsync部署
2.rsync 免交换方式,rsync传输数据信息(rsync守护进程模式)
--password-file=/etc/rsync.password
将这里的内容当作密码
```
rsync -avz rsync_backup@172.16.1.200::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 rsync_backup@172.16.1.200::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的特性总结(7个特性信息说明):
01. 支持拷贝普通文件与特殊文件如链接文件,设备等。
02. 可以有排除指定文件或目录同步的功能,相当于打包命令tar的排除功能。
#tar zcvf backup_1.tar.gz /opt/data -exclude=oldboy
说明:在打包/opt/data时就排除了oldboy命名的目录和文件。
03. 可以做到保持原文件或目录的权限、时间、软硬链接、属主、组等所有属性均不改变-p。
04. 可实现增量同步,既只同步发生变化的数据,因此数据传输效率很高(tar -N)。
# 将备份/home 目录自 2008-01-29 以来修改过的文件
# tar -N 2008-01-29 -zcvf /backups/inc-backup_$(date +%F).tar.gz /home
# 将备份 /home 目录昨天以来修改过的文件
# tar -N $(date -d yesterday "+%F") -zcvf /backups/inc-backup_$(date +%F).tar.gz /home
# 添加文件到已经打包的文件
# tar -rf all.tar *.gif
说明:这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
05. 可以使用rcp,rsh,ssh等方式来配合进行隧道加密传输文件(rsync本身不对数据加密)
06. 可以通过socket(进程方式)传输文件和数据(服务端和客户端)*****。重点掌握
07. 支持匿名的或认证(无需系统用户)的进程模式传输,可实现方便安全的进行数据备份及镜像。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  rsync