Rsync文件同步机备份工具使用
一,Rsync简介
Rsync是一款开源的,快速的,多功能的,可实现全量及增量的本地或远程数据同步的优秀工具。适用于多种操作平台。
全称是Remote synchronization 具有可使本地和远程的两台主机之间的数据快速复制同步镜像,这个功能类似于ssh的scp命令,但是又优于scp,rsync可以是一个网络服务(port socket)一个rsync相当于scp,cp,rm但是优于他们的每一个命令。
在同步数据时,默认情况下,rsync通过其独特的quick check算法,它仅同步大小或者最后修改时间发生变化的文件或者目录。
rsync特性
二,rsync的工作场景
1,两台服务器之间数据同步
2,对数据服务器做备份或者同步
三,rsync的工作方式
1,本地数据备份,相当于cp rm等
rsync -avz /etc/hosts /tmp/
保存属性复制文件hosts相当于cp命令
新建一个目录为空目录/null
rsync -avz --delete /null/ /tmp/
/tmp/目录保存和/null/目录一样文件全部删除了,相当于rm
2,本地局域网主机互相备份 remote shell
rsync -avzP -e 'ssh -p 22' /tmp/ root@172.16.25.32:/tmp
从本地推向远端服务器
rsync -avzP -e 'ssh -p 22' root@172.16.25.32:/tmp/ /tmp/
从远端服务器拉向本地
出现错误提示rsync error: error in IPC code因为客户端没有安装ssh客户端使用命令yum -y install openssh-clients安装即可
-e 表示后面使用ssh传输
3,通过rsync的daemon
参数-v详细输出模式
-z压缩
-a 归档模式,以递归方式传输文件,并保持所有文件属性
-r对子目录已递归模式
-t保持文件时间信息
-o保持文件属主信息
-g保持文件属组信息
-p 保持文件权限
使用最多就是avz
四,服务端安装配置rsync
1,yum安装rsync
yum -y install rsync
2,新建配置文件
/etc/rsyncd.conf
#Rsync server
#created by liuyueming : --
##rsyncd.conf start##
uid = rsync #客户端连接过来的用户
gid = rsync
use chroot = no #创建不安全文件漏洞,这里关闭
max connections = #最大连接数
timeout = #超时时间
pid file = /var/run/rsyncd.pid #进程号文件,启动后进程号
lock file = /var/run/rsync.lock #锁定文件
log file = /var/log/rsyncd.log #日志文件
ignore erros #忽略错误
read only = false #可读写
list = false #不能看服务端列表
hosts allow = 172.16.25.0/ #允许主机
hosts deny = 0.0.0.0/ #拒绝主机
auth users = rsync_backup #认证用户,为虚拟用户
secrets file = /etc/rsync.password #认证用户密码文件
################################
[backup]
comment = backup by liuyueming : -- #描述
path = /backup
3,启动
rsync --daemon
使用873端口对外进行服务
4,创建用户
useradd rsync -s /sbin/nologin -M #不需要登录,不需要家目录
id rsync #检查创建用户是否成功
5,创建密码文件
echo "rsync_backup:oldboy">/etc/rsync.password
chmod 600 /etc/rsync.password #设置权限只有root可以读写 不设置成600可能会导致服务不能跑
6,可以加入开机自启动
echo "rsync --daemon" >>/etc/rc.local
五,客户端配置
1,创建本地密码文件
echo "oldboy" >/etc/rsync.password #只需要密码,不需要用户名
chmod 600 /etc/rsync.password #必须设置为600否则运行rsync出错
2,同步文件
本地往rsync服务器推送
rsync -avz /tmp/ rsync_backup@172.16.25.32::backup --password-file=/etc/rsync.password
#::后面的backup为服务器端配置文件/etc/rsyncd.conf里面[backup]对应
本地从rsync服务器拉去
rsync -avz rsync_backup@172.16.25.32::backup /tmp/ --password-file=/etc/rsync.password
另外一种写法
把远端文件拿回本地
rsync -avz rsync://rsync_backup@172.16.25.32/backup /tmp/ --password-file=/etc/rsync.password #换一种写法,效果一样
重启rsync服务
pkill rsync #关闭rsync服务
kill `cat /var/run/rsyncd.pid`
kill -HUP `cat /var/run/rsyncd.pid` #加参数平滑杀进程
kill -USR2 `cat /var/run/rsyncd.pid` #加参数平滑杀进程
六,rsync优点
1,增量备份同步,正常socket(daemon模式),集中备份。最好采用推送而不是抓取方式
七,rsync缺点
1,大量小文件同步的时候,比对时间比较长,有时候会导致rsync进程停止
解决办法:a,打包同步b,drbd(基于文件系统同步复制block)
2,同步大文件,10G这样的大文件有时也会有问题,中断。未完整同步前,是隐藏文件,同步完成为正常文件。
PS:可以启用定时任务实现实时同步,定时任务最小间隔为1分钟,如果需要完全是实时同步需要使用inotify等技术。
Rsync文件同步机备份工具使用的更多相关文章
- Linux基础学习-数据备份工具Rsync
数据备份工具rsync 作为一个系统管理员,数据备份是非常重要的,如果没有做好备份策略,磁盘损坏了,那么你的数据将全部丢失,所以在日常的维护工作中,一定要时刻牢记给数据做备份. rsync不仅可以可以 ...
- Linux系统备份还原工具4(rsync/远程数据同步工具)
rsync即是能备份系统也是数据同步的工具. 在Jenkins上可以使用rsync结合SSH的免密登录做数据同步和分发.这样一来可以达到部署全命令化,不需要依赖任何插件去实现. 命令参考:http:/ ...
- Linux Rsync实现文件同步备份(转载)
原文地址:Linux Rsync实现文件同步备份作者:夷北 转自:http://www.mike.org.cn/blog/index.php?load=read&id=639###pp=0 [ ...
- linux下的数据备份工具rsync讲解
linux下的数据备份工具 rsync(remote sync 远程同步) 名词解释: sync(Synchronize,即“同步”)为UNIX操作系统的标准系统调用,功能为将内核文件系统缓冲区的 ...
- Rsync数据备份工具
Rsync数据备份工具 1.Rsync基本概述 rsync是一款开源的备份工具,可以在不同主机之间进行同步(windows和Linux之间 Mac和 Linux Linux和Linux),可实现全量备 ...
- Linux下简单粗暴使用rsync实现文件同步备份【转】
这篇来说说如何安全的备份,还有一点不同的是上一篇是备份服务器拉取数据,这里要讲的是主服务器如何推送数据实现备份. 一.备份服务器配置rsync文件 vim /etc/rsyncd.conf #工作中指 ...
- rsync从linux到linux的文件同步备份
rsync从linux到linux的文件同步备份 一.环境 需要备份文件的服务器(服务器端):192.168.1.201 (RHEL 5) 接收备份文件的服务器(客户端):192.168.1.202 ...
- rsync数据同步备份
一.rsync简介 (1)rsync是什么? rsync是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具. (2)rsync作用比较 远程拷贝:有点类似ssh的scp ...
- Rsync文件同步
Rsync文件同步 本章结构 关于rsync 1.一款增量备份工具,remote sync,远程同步,支持本地复制或者与其他SSH.rsync主机同步,官方网站:http://rsync.samba. ...
随机推荐
- PCI-Express协议传输层读书笔记
http://www.doczj.com/doc/35cb19633169a4517723a3d9-9.html
- vim-程序员的利器
个人觉得vi使用熟练后就离不开了,用了它效率会提升不少,但是没了它可能还赶不上以前的速度,给惯坏了. 以下是本人无耻的复制和粘贴的:(附图一张方便学习) Vim目前已经有各主流系统的版本,尽管vim较 ...
- C# 获得文件名
string strFilePaht="文件路径"; Path.GetFileNameWithoutExtension(strFilePath);这个就是获取文件名的 还有的就是用 ...
- nginx rewrite目录对换
/123/xxx----->xxx?id=123 [root@web01 default]# pwd /app/www/default [root@web01 └── sss └── index ...
- 线程相关函数(3)-pthread_detach()将某个线程设成分离态
#include <pthread.h>int pthread_detach(pthread_t tid); pthread_t tid: 分离线程的tid返回值:成功返回0,失败返回错误 ...
- 0070 过滤器调用Spring的bean操作数据库
假设有这样的需求:将用户每次请求的ip.时间.请求.user-agent存入数据库,很明显可以用过滤器实现,在过滤器中获取到这些数据调用mybatis的mapper存入数据库,但问题来了:mybati ...
- 一款基于jQuery带事件记录的日历插件
之前我们也已经分享过不少jQuery日历插件,有些应用了CSS3的特性,外观就特别漂亮.今天要分享的这款jQuery日历插件不仅有着绚丽的外观,而且带有日期事件记录功能,点击日期即可展开事件记录窗口, ...
- 浅析StackTrace
我们在学习函数调用时,都知道每个函数都拥有自己的栈空间.一个函数被调用时,就创建一个新的栈空间.那么通过函数的嵌套调用最后就形成了一个函数调用堆栈.在c#中,使用StackTrace记录这个堆栈.你可 ...
- IoC就是IoC,不是什么技术,与GoF一样,是一种设计模式。
IoC就是IoC,不是什么技术,与GoF一样,是一种设计模式. InterfaceDrivenDesign接口驱动,接口驱动有很多好处,可以提供不同灵活的子类实现,增加代码稳定和健壮性等等,但是接口一 ...
- 那么类 Man 可以从类 Human 派生,类 Boy 可以从类 Man 派生
若在逻辑上 B 是 A 的“一种”(a kind of ),则允许 B 继承 A 的功 能和属性. 例如男人(Man)是人(Human)的一种,男孩(Boy)是男人的一种. 那么类 Man 可以从类 ...