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配置及使用的主要内容,如果未能解决你的问题,请参考以下文章