【Linux】Rsync的剖析与使用
Rsync的工具剖析与使用
0.Rsync的介绍
rsync是Linux系统下的文件同步和数据传输工具,它基于“delta-transfer”算法闻名遐迩,保证客户端和远程服务器端之间的文件同步,rsync可以支持断点续传;rsync只传输源文件和目标文件之间不一致的部分;rsync支持执行完整备份和增量备份。
1.Rsync的特性
- 镜像整个目录树和文件系统
- 增量同步,减少同步时间,提高备份效率。
- 保持原有文件的权限,时间,links等属性。
- 加密传输,保证数据安全性。
- 支持匿名传输
2.Rsync的部署安装
rysnc的主页为:https://rsync.samba.org/download.html。下载的版本为:rsync-3.1.3版本。
[root@db ~]# tar zxvf rsync-3.1.3.tar.gz
[root@db ~]# cd rsync-3.1.3
[root@db rsync-3.1.3]# ./configure
[root@db rsync-3.1.3]# make
[root@db rsync-3.1.3]# make install
3.搭建远程备份系统。
3.1 环境配置
客户端:
Platform : Linux 86_64
Server Name : db01.zsd.com, IP: 172.17.4.201
服务器端:
Platform : Linux 86_64
Server Name : db02.zsd.com, IP: 172.17.4.202
场景效果:【172.17.4.201】的Oracle RMAN
备份文件传输至【172.17.4.202】中。
3.2 服务器Rsync的配置
在【172.17.4.202】做服务器的相关配置。
安装rysnc
[root@db ~]# tar zxvf rsync-3.1.3.tar.gz
[root@db ~]# cd rsync-3.1.3
[root@db rsync-3.1.3]# ./configure
[root@db rsync-3.1.3]# make
[root@db rsync-3.1.3]# make install
服务器端配置/etc/rsyncd.conf
[root@db backup]# mkdir -p /backup/oracle_full_201/
[root@db backup]# mkdir -p /backup/zsd_test_201/ [root@db etc]# vi /etc/rsyncd.conf
#__________________________________
#created by zsd 2019-03-28
##rsyncd.conf start##
uid = root
gid = root
use chroot = no
max connections = 200
timeout = 600
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
#__________________________________ ###############backupfile01################
[oracle_full_201]
path = /backup/oracle_full_201/
ignore errors
read only = false
list = false
hosts allow = 172.17.4.201
hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password ###############backuptest01################
[zsd_test_201]
path = /backup/zsd_test_201/
ignore errors
read only = false
list = false
hosts allow = 172.17.4.201
hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
配置密码文件
[root@db etc]# vi /etc/rsync.password
rsync_backup:zsd7101
[root@db etc]# chmod 600 /etc/rsync.password
服务器端启动rsync守护进程
[root@db etc]# /usr/local/bin/rsync --daemon
3.3 客户端rsync的配置。
额外技能(Oracle RMAN的全备)--可选项
[oracle@db logs]$ rman target / RMAN>
run
{
allocate channel c1 device type disk format '/u01/app/backup/rman/%U-%T.full';
allocate channel c2 device type disk format '/u01/app/backup/rman/%U-%T.full';
allocate channel c3 device type disk format '/u01/app/backup/rman/%U-%T.full';
backup database plus archivelog delete all input; release channel c1;
release channel c2;
release channel c3;
}
这里不做过多的细节描述,目的:对Oracle数据库做一个全备。最终远程备份【/u01/app/backup/rman/】目录数据。
设置密码文件
[root@db ~]# vi /etc/rsync.password
zsd7101
其中如果需要
oracle
用户,传输备份的话。需要设置如下权限:[root@db rman]# chown -R oracle:oinstall /etc/rsync.password
[oracle@db ~]$ chmod 600 /etc/rsync.password
客户端[172.17.4.201]传输备份
[oracle@db ~]$ rsync -vzrtopg --progress /u01/app/backup/rman/ rsync_backup@172.17.4.202::oracle_full_201 --password-file=/etc/rsync.password
- 其中【-vzrtopg】,
-v
是--verbose
,即详细模式输出;-z
是--compress
即在传输时对备份的文件进行压缩;-r
表示--recursive
,也就是对子目录以递归模式处理,然后传输到远端;-t
表示--times
,保留文件时间信息;-o
表示--owner
,用来保持属主信息;-p
即--perms
,用来保持文件权限;g即--group
,保留文件的属组信息。 --progress
,显示数据镜像同步的详细过程。rsync_backup@172.17.4.202::oracle_full_201
,表示备份的位置名【oracle_full_201】对应的目录是:/backup/oracle_full_201/。使用rsync_backup
用户备份。172.17.4.202
为服务器端的IP。--password-file=/etc/rsync.password
,保证客户端和服务器的端密码一致,保证其正确传输。
- 其中【-vzrtopg】,
rsync
--delete
和--backup
命令补充传输三个文件至服务器端
[oracle@db zsd]$ pwd
/u01/app/zsd
[oracle@db zsd]$ echo "you are handsome boy" >> zsd01.log
[oracle@db zsd]$ echo "you are handsome boy 02" >> zsd02.log
[oracle@db zsd]$ echo "you are handsome boy 03" >> zsd033.log
[oracle@db zsd]$ ls
zsd01.log zsd02.log zsd033.log ##传输文件至服务器端的【zsd_test_201】模块目录中
[oracle@db zsd]$ rsync -av --no-iconv --progress --backup --backup-dir=`date +%Y-%m-%d` --delete /u01/app/zsd rsync_backup@172.17.4.202::zsd_test_201 --password-file=/etc/rsync.password
删除一个文件,新建一个文件。查看
--delete
和--backup
命令作用[oracle@db zsd]$ rm zsd033.log
[oracle@db zsd]$ echo " just for fun" >> zsd04.log
[oracle@db zsd]$ rsync -av --no-iconv --progress --backup --backup-dir=`date +%Y-%m-%d` --delete /u01/app/zsd rsync_backup@172.17.4.202::zsd_test_201 --password-file=/etc/rsync.password
通过看如下日志,发现zsd033.log被删除,并同步了zsd04.log的日志,并且。zsd033.log文件被放置到了【/backup/zsd_test_201/2019-03-28/zsd】目录中。
sending incremental file list
deleting zsd/zsd033.log
zsd/
zsd/zsd04.log
27 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=0/4)
###服务器端的操作
[root@db backup]# cd /backup/zsd_test_201/
[root@db zsd_test_201]# ls
2019-03-28 zsd
[root@db zsd]# pwd
/backup/zsd_test_201/2019-03-28/zsd
[root@db zsd]# ls
zsd033.log
其中,
--delete
命令,如上,以本地目录的【/u01/app/zsd】为基准进行数据镜像同步,保证客户端的目录与服务器端的目录完全一致。--backup
和--backup-dir
,保证上述被移除的文件,放置在backup目录中,保证完全的备份记录。
【Linux】Rsync的剖析与使用的更多相关文章
- Linux 动态库剖析
进程与 API 动态链接的共享库是 GNU/Linux® 的一个重要方面.该种库允许可执行文件在运行时动态访问外部函数,从而(通过在需要时才会引入函数的方式)减少它们对内存的总体占用.本文研究了创建和 ...
- linux rsync 实际应用
linux rsync 实际应用 一.rsync的概述 rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync.rsync是Linux系统下的文件同步和 ...
- linux rsync同步工具
linux rsync同步工具 1.rsync介绍rsync是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具.rsync软件适用于unix/linux/windows ...
- Linux Rsync实现文件同步备份(转载)
原文地址:Linux Rsync实现文件同步备份作者:夷北 转自:http://www.mike.org.cn/blog/index.php?load=read&id=639###pp=0 [ ...
- 【原创】Linux RCU原理剖析(二)-渐入佳境
背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本: ...
- Linux rsync实现断点续传
Linux 主机之间即时传送文件,scp命令大家都很熟悉但当要传送的文件较大,过程中如果网络中断了,就比较悲剧了.这时候可以考虑使用rsync命令替代scp,实现断点续传文件. 试验:rsync使用 ...
- Server Data Synchronization Via Linux rsync、rsync+inotify Between Load Balance Server
目录 . 远程文件同步的应用场景 . rsync+crontab . rsync+inotify 1. 远程文件同步的应用场景 在负载均衡集群的应用场景中,往往在多台web server的前端有一个提 ...
- Linux rsync 命令详解
服务器之间常常要保持些文件或目录的一致,比如一些大的软件下载网站,它们通常使用多台服务器来提供下载服务.当一台服务器上的文件更新后,其它的服务器 也需要更新,而且 在更新的时候应该是只对新增或是修改过 ...
- Linux rsync 同步
rsync 是一个快速增量文件传输工具,它可以用于在同一主机备份内部的备分,我们还可以把它作为不同主机网络备份工具之用.本文主要讲述的是如何自架rsync服务器,以实现文件传输.备份和镜像.相对tar ...
随机推荐
- tensor内部结构
内部结构 1.tensor分为头信息区(Tensor)和存储区(Storage): 信息区:tensor的形状(size).步长(stride).数据类型(type),信息区占用内存较少 存储区:数据 ...
- 请问浏览器访问www.baidu.com经历了怎样的过程?
1.查找浏览器缓存 首先会查找浏览器缓存,浏览器会保存一段时间你之前访问过的网址的DNS信息,不同的浏览器保存的时长不等. 2.查找系统缓存 如果上面的步骤没有找到对应的DNS信息,这个时候浏览器会尝 ...
- CrypMic分析报告
一.概述 病毒伪装为NirSoft公司的软件NirCmd并加了MPRESS壳,脱壳后是一个混淆过的PE程序,运行时会用到类似PE映像切换的方式来释放出实际的恶意代码,恶意代码主要对文件进行加密. 二. ...
- 依赖注入[7]: .NET Core DI框架[服务注册]
包含服务注册信息的IServiceCollection对象最终被用来创建作为DI容器的IServiceProvider对象.服务注册就是创建出现相应的ServiceDescriptor对象并将其添加到 ...
- NeuChar 平台使用及开发教程 索引
什么是 NeuChar? NeuChar 是由盛派(Senparc)团队发布的新一代跨平台服务系统,其中包含了开放的跨平台通讯标准及核心计算模块(Senparc.NeuChar.dll)以及配套的云管 ...
- PHP GZIP压缩+BASE64
<?php $str = ' {"pf":"AC25c","dt":"2017-02-04 09:49:49",& ...
- [Swift]LeetCode83. 删除排序链表中的重复元素 | Remove Duplicates from Sorted List
Given a sorted linked list, delete all duplicates such that each element appear only once. Example 1 ...
- [Swift]LeetCode852. 山脉数组的峰顶索引 | Peak Index in a Mountain Array
Let's call an array A a mountain if the following properties hold: A.length >= 3 There exists som ...
- php中mysqli_fetch_assoc()和mysqli_fetch_row()的区别
mysqli_fetch_assoc() 函数 从结果集中取得一行作为关联数组: <?php // 假定数据库用户名:root,密码:123456,数据库:RUNOOB $con=mysqli_ ...
- 注解式controller开发,action找不到controller???
Spring这一列列的 , 配置是真的多,学完我都忘啦 那个配置是干什么的了. 这里我遇到的问题是 我前台 使用action请求controller中的方法时,却找不到 报错404. 首先你路径 ...