rsync命令的基本使用
rsync命令的基本使用
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
rsync服务软件是一款开源,高速的,数据同步(拷贝)工具。
一.rsync服务的特点
1>.本地拷贝
可以把数据从一个路径复制到另一个路径,类似与cp和mv的功能。
2>.异地拷贝
可以从一台机器把数据复制到另一台机器,类似与scp。
3>.增量备份
可以实现增量拷贝,只把多的内容拷过去,效率很高。
4>.删除功能
rsync本身并没有删除功能,但是可以通过它的参数来实现删除功能,类似于Linux的rm命令。
5>.rsync服务模式
可以挂起后台进程,接受别人访问,这也是它的特殊的地方。
二.rsync实操案例
1>.本地拷贝
[root@yinzhengjie ~]# rsync -avz /var/log/messages /tmp/
与cp不同的是它默认就是增量拷贝,当第一个拷贝一个较大的文件时,若第二次在继续拷贝该文件时,它只会拷贝新增的内容。

rsync命令参数:
-v:--verbose,显示输出过程
-z:--compress,压缩
-a:--archive,多参数集合,也叫归档模式,包括多个参数,相当于:-rlptgoD(no -H,-A,-X)。
-r:--recursive,递归
-t:--times,保持修改时间属性
-o:--owner 保持属主不变
-p:--perms 保持权限不变
-g:--group 保持用户组不变
-l:--links 保证用户组不变
-q:--quiet 安静的拷贝
2>.删除功能
[root@yinzhengjie ~]# mkdir /yinzhengjie
[root@yinzhengjie ~]# rsync -avz --delete /yinzhengjie/ /opt/
表示将目标文件的内容和本文件的内容一致,若目标文件中存在本目录中不存在的文件时,直接删除!

3>.排除文件
--exclude:排除文件,当然也支持排除多个文件,用“{a.log,b.log,c.log}”替换图中的"a.log"即可。

--exclude-from:从文件中排除

4>.异地拷贝
[root@yinzhengjie ~]# rsync -avz /yinzhengjie -e 'ssh -p 5200' yinzhengjie@172.16.3.210:~
可以从一台机器把数据赋值到另一台机器,相当于scp命令。只不过scp命令是全量拷贝,而rsync是增量拷贝(只拷贝变化的文件),各自有自己的特点。
提示:"/yinzhengjie"和"/yinzhengjie/"这两个目录的区别是什么?
/yinzhengjie: 指的是目录本身及目录下的内容。
/yinzhengjie/ :指的是目录下的内容。
5>.关于远程拷贝的shell脚本
#!/bin/bash
#@author :yinzhengjie
#blog:http://www.cnblogs.com/yinzhengjie
#EMAIL:y1053419035@qq.com #判断用户是否传参
if [ $# -lt ];then
echo "请输入参数";
exit
fi #获取文件路径
file=$@ #获取子路径
filename=`basename $file` #获取父路径
dirpath=`dirname $file` #获取完整路径
cd $dirpath
fullpath=`pwd -P` #同步文件到DataNode
for (( i=;i<=;i++ ))
do
#使终端变绿色
tput setaf
echo =========== s$i %file ===========
#使终端变回原来的颜色,即白灰色
tput setaf
#远程执行命令
rsync -lr $filename `whoami`@s$i:$fullpath
#判断命令是否执行成功
if [ $? == ];then
echo "命令执行成功"
fi
done
rsync命令的基本使用的更多相关文章
- rsync命令详解
介绍 rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部 ...
- 烂泥:【转】rsync命令参数详解
本文由秀依林枫提供友情赞助,首发于烂泥行天下. rsync安装完毕后,我们可以通过rsync –help查看rysnc命令的使用.如下: 有关rsync的命令格式,在此我们就不多介绍了.如果有想了解的 ...
- Linux rsync 命令详解
服务器之间常常要保持些文件或目录的一致,比如一些大的软件下载网站,它们通常使用多台服务器来提供下载服务.当一台服务器上的文件更新后,其它的服务器 也需要更新,而且 在更新的时候应该是只对新增或是修改过 ...
- rsync命令(同步/备份数据)
rsync命令rsync命令是一个远程数据同步工具,可通过 lam/wan快速同步多台主机间的文件.rsync使用所谓的 "rsync算法"来使用本地和远程两个主机之间的文件达到同 ...
- rsync命令来实现将服务器端的文件备份到客户端
rsync命令来实现将服务器端的文件备份到客户端
- 使用rsync命令提高文件传输效率
众多数据库服务器的管理过程中,在不同服务器间的文件传输是免不了的.您可以使用scp命令或FTP方法完成文件的发送和接收,这篇文章我将给大家介绍另外一种方法,这就是rsync命令.rsync是文件传输程 ...
- man rsync翻译(rsync命令中文手册)
本文为命令rsync的man文档翻译,几乎所有的选项都翻译了,另外关于筛选规则部分只翻译了一部分.由于原文很多地方都比较啰嗦,所以译文中有些内容可能容易让国人疑惑,所以我个人在某些地方加上了注释.若有 ...
- rsync命令解释
-v, --verbose 详细模式输出-q, --quiet 精简输出模式-c, --checksum 打开校验开关,强制对文件传输进行校验-a, --archive 归档模式,表示以递归方式传输文 ...
- Rsync(远程同步): linux中Rsync命令的实际示例
rsync的 ( 远程同步 )为在Linux / Unix系统局部 拷贝和同步文件和目录远程以及一个最常用的命令. 随着rsync命令的帮助,您可以复制并在目录中远程和本地同步数据,在磁盘和网络,进行 ...
- rsync命令详解、rsync用ssh隧道方式同步
● rsync格式安装命令 yum install -y rsync与scp的区别:scp复制为完全覆盖,rsync为增量同步,只同步修改过的数据.rsync命令格式如下: rsync 选项 源文件 ...
随机推荐
- NetFPGA-SUME下reference_nic测试
Reference_nic Reference_nic是NetFPGA-SUME中提供的一个参考Demo,本文主要介绍如何构建并在SUME上运行reference_nic. GIT源 git clon ...
- bata5
目录 组员情况 组员1(组长):胡绪佩 组员2:胡青元 组员3:庄卉 组员4:家灿 组员5:恺琳 组员6:翟丹丹 组员7:何家伟 组员8:政演 组员9:黄鸿杰 组员10:刘一好 组员11:何宇恒 展示 ...
- “吃神么,买神么”的第二个Sprint计划(总结)
“吃神么,买神么”项目Sprint计划 ——5.28 星期四(第八天)第一次Spring计划结束 第一阶段Spring的目标以及完成情况: 时间:5月21号~5月28号(7天) 目标:第二阶段主 ...
- *** error 65: access violation at C:0x001B : no 'execute/read' permission
转自:http://blog.csdn.net/chenqiai0/article/details/7827071 很多人在进行串口调试的时候会遇到这个问题,请大家略看我的代码,解决方法在其中 //实 ...
- docker搭建redis未授权访问漏洞环境
这是redis未授权访问漏洞环境,可以使用该环境练习重置/etc/passwd文件从而重置root密码 环境我已经搭好放在了docker hub 可以使用命令docker search ju5ton1 ...
- 爬虫学习之-requests乱码
总体功能的一个演示 import requests response = requests.get("https://www.baidu.com") print(type(resp ...
- golang build 的简单用法.(菜鸟初学)
1. golang 里面的 go build 可以编译代码. go build helloworld.go 2. 这里面有一个注意事项事项. 如果引用非go语言的 内置package的话 需要在环境变 ...
- 【Linux笔记】CentOS 7 systemctl、firewalld
一.CentOS7 systemctl 在CentOS7中,进行chkconfig命令操作时会发现有类似“systemctl.....”的提示,systemctl可以简单实现service和chkco ...
- struts下载文件
- Qt——容器类(译)
注:本文是我对Qt官方文档的翻译,错误之处还请指正. 原文链接:Container Classes 介绍 Qt库提供了一套通用的基于模板的容器类,可以用这些类存储指定类型的项.比如,你需要一个大小可变 ...