必威体育Betway必威体育官网
当前位置:首页 > IT技术

rsync

时间:2019-10-05 05:43:20来源:IT技术作者:seo实验室小编阅读:72次「手机版」
 

rsync

rsync 简介


rsync是 一种远程数据同步的工具,他可以在线同步数据,来进行数据的备份,与我们常用的(cp ,scp ) 命令进行数据备份有区别,rsync 可以进行增量备份,这一点,只有rsync可以做到,这也成为了,企业上常用的备份工具

rsync 的传输特性

可以镜像保存整个目录数和文件系统

Rsync 传输模式保存整个目录树和文件系统

可以容易的做到保持原来文件的权限,时间,软链接等等

无须特殊权限即可安装

快速:只会在第一次同步时 rsync 会复制全部的内容,下一次同步则只会传输修改过的文件,rsync 在传输数据的过程可以实现压缩及解压操作,因此可以节约带宽

Rsync大致使用三种主要的传输数据方式。分别为:本地传输(local),远程通道传输 (remote shell),守护进程传输(daemon)

rsync 默认监听在TCP的873的端口

Rysnc 命令格式

  1. rsync [OPTION…] SRC… [USER@]HOST::DEST rsync
  2. [OPTION…] SRC… rsync://[USER@]HOST[:PORT]/DEST

数据推送给服务器

rsync -avz /backup/ [email protected]::backup/  --password=/etc/rsync.password

拉取服务器的数据

rsync -avz  [email protected]::backup  /backup/  --password=/etc/rsync.password

如下图,可以通过推送或者拉取服务器的数据来进行备份

跨机房备份项目

Rsync 常用的选项

参数选项 选项说明
-a 归档模式传输,等于 -tropgDl
-v 详细模式输出,打印速率文件数量等
-z 传输时进行压缩以提高效率
-r 递归传输目录及子目录,即目录下得所有目录都相同传输
-t 保持文件时间信息
-0 保持文件属主信息
-p 保持文件权限
-g 保持文件属主信息
-l 保持软连接
-P 显示同步的过程及传输时的进度等信息
-D 保持设备文件信息
-L 保留软连接指向的目标文件
-e 使用的信道协议,指定替代rsh的shell
–exclude=PATTERN 指定排除不需要传输的文件模式
–exclude-from=file 文件名所在的目录文件
–bwlimit=100 限速传输
–partial 断电续传
–delete 让目标目录个源目录数据保持一致

rsync 同步

服务端的配置

  1. 安装rsync
[root@rsync-server ~]# yum install -y rsync
  1. 接下来的一步就是修改主配置文件了,在此之前,由于主配文件的里的注释等,太多了,为了方理解看的更清楚些,我们先清空主配置文件,在写入配置
[root@rsync-server ~]# > /etc/rsyncd.conf
[root@rsync-server ~]# vim /etc/rsyncd.conf 
uid = rsync
gid = rsync
port = 873
use chroot = no
max connections = 2000
timeout = 600
pidfile = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore ERRORs
read only = false
list = false
address = 192.168.169.10
hosts allow = 192.168.169.0/24
hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
[backup]
path = /backup

创建rsync 这个用户

[root@rsync-server ~]# useradd -M -s /sbin/nologin rsync

3. 创建用户认证

[root@rsync-server ~]# echo 'chen:123'> /etc/rsync.password
[root@rsync-server ~]# chmod 600 /etc/rsync.password 

4. 准备对应的环境

[root@rsync-server ~]# mkdir /backup/     //主配置文件中 path 这个位置一定要存在
[root@rsync-server ~]# systemctl stop firewalld
[root@rsync-server ~]# systemctl disable firewalld
[root@rsync-server ~]# setenforce 0
[root@rsync-server ~]# sed -i 's#SElinux=enforcing#selinux=disabled#g' /etc/sysconfig/selinux 
[root@rsync-server ~]# systemctl start  rsyncd    //启动服务
  1. 查看端口是否起来
[root@rsync-server ~]# ss -anlt
State      Recv-Q Send-Q                 Local Address:Port                                Peer Address:Port              
LISTEN     0      128                                *:22                                             *:*                  
LISTEN     0      100                        127.0.0.1:25                                             *:*                  
LISTEN     0      5                     192.168.169.10:873                                            *:*                  
LISTEN     0      128                               :::22                                            :::*                  
LISTEN     0      100                              ::1:25                                            :::* 
  1. 在客户端的配置
[root@ftp-server ~]#systemctl stop firewalld
[root@ftp-server ~]#systemctl disable  firewalld
[root@ftp-server ~]# setenforce 0

安装yum 源

[root@ftp-server ~]# cd /etc/yum.repos.d/
[root@ftp-server yum.repos.d]# wget http://mirrors.163.com/.help/centos7-Base-163.repo
[root@ftp-server ~]# sed -i 's#$releasever#7#g' /etc/yum.repos.d/CentOS7-Base-163.repo
[root@ftp-server ~]# sed -i 's#enabled=0#enabled=1#g' /etc/yum.repos.d/CentOS7-Base-163.repo 
[root@ftp-server ~]# yum install -y epel-release
[root@ftp-server ~]# yum -y update --skip-broken    //在生产上用
  1. 安装rsync服务端软件,只需要安装不需要启动,不需要配置
[root@ftp-server ~]# yum install -y rsync

创建认证密码文件,修改文件权限为600

[root@ftp-server ~]# echo '123' > /etc/rsync.password
[root@ftp-server ~]# chmod 600 /etc/rsync.password 
  1. 同步opt 目录下的所有文件
[root@ftp-server etc]# rsync -avH --port 873 --progress --delete /opt [email protected]::backup  --password-file=/etc/rsync.password

实验验证

在rsync-server 上查看是否同步

[root@rsync-server backup]# ls
opt

同步成功

rsync 服务端排错思路

1.关闭防火墙以及selinux

2.确认配置文件/etc/rsyncd.conf

3.配置允许网段以及对应的模块

4.创建对应的备份目录,并设定rsync用户权限

5.启动rsync服务以后台运行,检查进程和端口tcp/873

6.建立虚拟账号的密码,权限600

rsync客户端

1.网络是否能通,telnet端口是否正常

2.配置文件密码是否正确,权限设定为600

注意:只需要密码,并且和服务端的密码一致

3.推送和拉取数据时,模块前加双冒号

以下脚本用于客户端备份,存放在定时任务

#!/bin/bash
##Makedir
Client_Dir=/backup
Client_Hostname=$(hostname)
Client_date=$(date +%F)
Client_IP=$(ifconfig eth0|awk 'NR==2'|awk '{print $2}')
Client_Dest_Dir="$Client_Dir"/"$Client_Hostname"_"$Client_IP"_"$Client_date"

mkdir -p  "$Client__Dest_Dir"
##setup2 cope configure
cp -rp /soft/scripts /var/spool/cron \
/etc/hosts  /etc/fstab  /etc/rc.local  "$Client_Dest_Dir"

##setup3 rsync push data
Server_User=rsync_backup
Server_IP=192.168.169.50
Server_Mode=backup/
Server_Pass=/etc/rsync.password
/usr/bin/rsync -avz $Client_Dir/ $Server_User@$Server_IP::$Server_Mode  --password-file=$Server_Pass

##setup4 find time out 30
/usr/bin/find $Client_Dir -maxdepth 1 -type d -mtime +30 -exec rm -rf {} \;

相关阅读

Linux下-部署Rsync服务

Rsync  简介;Rsync  是一款开源的、快速的 多功能的 可以实现全量以及增量的本地或者是远程的数据同步备份的优秀工具并且可以不

Windows下使用cwRsync定期备份网站

丢失数据是站长的噩梦,为了数据安全,一个好的智能的备分软件是必须的。这次为大家奉献上的是windows下的定期备分软件,cwRsync,希望可

分享到:

栏目导航

推荐阅读

热门阅读