Linux备份软件rsync的安装与使用

linux备份软件rsync的安装与使用

rsync是一个开源的,高速的,可以通过本地以及远程,支持全量备份以及增量备份的复制工具

使用场景:服务器需要进行定时,实时的数据备份。本地服务器目录,不同机器,不同机房之间的数据备份。都可以使用rsync完成

rsync功能特性

  • 支持拷贝普通文件与特殊文件,如链接文件,设备文件等。
  • 支持排除指定文件或目录同步的功能,相当于打包命令tar的排除功能。
  • 可以做到保持原文件或目录的权限、时间、软硬链接、属主、组等所有属性均不改变。
  • 可实现增量复制,既只复制发生变化的数据,因此数据传输效率很高。
  • 可以使用rcp,rsh,ssh等方式来配合进行隧道加密传输文件(rsync本身不对数据加密)。
  • 可以通过socket(进程方式)传输文件和数据(服务端和客户端)。
  • 支持匿名或认证(无需系统用户)进程模式传输,安全的进行数据备份及镜像。

rsync支持3种模式

本地模式:
将etc/目录下的hosts文件 拷贝到/opt目录下

rsync /etc/hosts /opt 

清空文件内容
1.创建一个空文件

touch null.txt

2.将空文件覆盖到要清空内容的文件

rsync null.txt /opt/hosts

3.rsync查看文件属性

rsync hosts
[root@web ~]# rsync a.txt 
-rw-r--r--            183 2021/08/04 16:16:44 a.txt

远程隧道模式
借助类似ssh隧道传输数据,适合不同的机器之间复制。

语法:从远端机器同步到本地
rsync命令 参数选项 [认证用户]@[主机地址]:[源路径] 本地路径
示例:rsync -avz root@172.16.1.41:/opt/ /data/ 将172.16.1.41这台机器的opt目录同步到本地的data目录

语法:从本地上传至远端机器
rsync命令 参数选项 本地路径 [认证用户]@[主机地址]:[源路径]
示例:rsync -avz /etc/hosts root@172.16.1.41:/opt/ 将本地的/etc/hosts 同步到172.16.1.41的opt目录

守护进程模式
通过服务的方式来同步数据

rsync命令参数:
-v, --verbose 显示输出过程
-z, --compress 压缩
-a, --archive 多参数集合(-rtopgDl)
-r, --recursive 递归
-t, --times 保持修改时间属性
-o, --owner 保持属主不变
-p, --perms 保持权限不变
-g, --group 保持用户组不变
-l, --links 保持拷贝软连接
-q, --quiet 安静的拷贝
–bwlimit=KBPS 限制I/O带宽,KBytes per second。
–delete 删除
–exclude 排除
–exclude-from 从文件中排除

rsync服务的安装:

服务器端配置

1.查看系统是否安装了rsync

[root@web ~]# rsync --version
rsync  version 3.1.2  protocol version 31
Copyright (C) 1996-2015 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
    64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
    socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
    append, ACLs, xattrs, iconv, symtimes, prealloc

rsync comes with ABSOLUTELY NO WARRANTY.  This is free software, and you
are welcome to redistribute it under certain conditions.  See the GNU
General Public Licence for details.

如果安装了,就不需要安装。没有的话使用yum安装 yum install rsync
2.创建rsync的用户,以及备份目录

useradd -s /sbin/nologin rsync
mkdir -p /backup
chown rsync.rsync /backup -R 

3.配置rsync的配置文件/etc/rsyncd.conf

uid = rsync   ---管理备份目录用户
gid = rsync   ---管理备份目录用户组
use chroot = no   ---安全功能,数据是否锁定在备份目录
max connections = 200  ---最大并发数
timeout = 600   ---连接超时时间
fake super = yes  ---允许rsync写文件
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 = 0.0.0.0/32         ---拒绝那些主机访问
auth users = rsync_backup    ---远程连接虚拟用户
secrets file = /etc/rsync.password  ---存放密码的文件 格式:用户名:密码  权限:必须600
[backup]     ---【模块名】远程访问使用模块名访问
comment = welcome rsync! ---说明注释
path = /backup/   ---服务器端用于备份的目录 用户和组 rsync.rsync

4.配置密码文件

 echo "rsync_backup:rsync" > /etc/rsync.password
 chown 600 /etc/rsync.password ---必须设置为600 否则启动服务会报错

5.开启服务

systemctl start rsyncd

至此服务端已经配置完成了

客户端配置

客户端只需要配置下rsync的密码配置文件

echo "rsync" > /etc/rsync.password
chmod 600 /etc/rsync.password

然后进行测试
从服务器拉取backup文件到/opt中

rsync -azv rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password /opt

文件从客户端上传到backup目录

rsync -azv /root rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password

后续同步数据是我们可以使用shell脚本+定时任务的方式实现定时的数据同步。这样就可以减少我们运维的工作量了

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值