rsync同步命令
rsync同步时,--delete删除目标目录比源目录多余文件的方法
1 .实例说明
服务器A上同步/tmp/work目录到远程服务器B的/tmp/work目录下,
同时删除B服务器/tmp/work目录下相比于A服务器/tmp/work中多余的文件
A同步到B:B的ip是11.11.11.
--delete参数要放在源目录和目标目录前,并且两个目录结构一定要一致!不能使用./*
rsync -e "ssh -p22" -avpz --delete ./ root@11.11.11.11:/tmp/work/
A:cd /tmp/work
ls
a b c d e
B: cd /tmp/work
ls
c d e f g
2.创建两个测试目录
mkdir A/{A1,A2,A3}
mkdir B/{B1,B2,B3,A1,A2,A3} 将A服务器所有文件放到B下,保留属主,属组,文件权限
rsync -avz A/ B/ 将A服务器所有文件放到B下,并删除B内多余的文件
rsync -avz --delete A/ B/ 将dirA的所有文件同步到dirB,但是在dirB内除了B3这个文件不删之外,其他的都删除
rsync -avz --delete -exclude "B3" A/ B/ 将A目录内的A1和A2不同步到B目录内。
rsync -avz --exclude="A1" --exclude="A2" A/ B/ 将A目录内的A1和A2不同步到B目录内,并且在B目录内删除多余的文件
rsync -avz --exclude="A1.txt" --exclude="A2.txt" --delete A/ B/ 将A目录内的A1和A2不同步到B目录内,并且在B目录内删除多余的文件,同时,如果B内有A2和A1这两个被排除同步的文件,仍然将其删除。
rsync -avz --exclude="A1.txt" --exclude="A2.txt" --delete-excluded A/ B/
3.在Linux下删除海量文件,是由程序写的日志,增长很快,用rm-rf命令等的时间长,
使用rsync的--delect-before参数来实现删除大量文件
1)建立个空文件夹
mkdir /tmp/test
2) 用rsync删除目标目录(删除log目录rsync实际上用的是替换原理,处理数十万个文件也是秒删)
rsync --delete-before -aHv --progress --stats /tmp/test/ log/
***********************************************************************************************
关于rsync详情请看:https://www.cnblogs.com/weifeng1463/p/7809851.html
rsync使用频率较高的
本地推送到远程
rsync -e "ssh -p 22" -vzacu /home/wwwroot --exclude "wwwroot/index" root@198.***.***.***:/home/
这是一个通过ssh通道从本地推送到远程的例子。 把本地的/home/wwwroot 推送到远程的/home下面
远程到本地
rsync -vzrtopg --progress --delete root@192.168.168.52:/home/wwwroot/ /tmp/
这里是使用root用户登录远程服务器,并把远程的 /home/wwwroot/目录同步到本地的tmp目录。注意与前一种的区别, 只有一个冒号。 通常用到的rsync同步命令:
22是ssh的端口
rsycn -e "ssh -p 22" -avpgolr /usr/local/php/ 192.168.1.22:/Data/app/
rsync如何实现同步目标路径下的目录,不同步路径下的文件 ,只想同步目录结构
rsync -av --delete -f '+ */' -f '- *' SRC/ DEST/
rsync远程拷贝的时候,过滤某些某个文件或多个文件就用“--exclude 文件名”
要是过滤多个文件或子目录,就把过滤的文件或目录名的关键字放在一个文件里,如下的exclude_file文件
然后使用--exclude-from exclude—-file文件进行过滤
排除单独的文件夹和文件
排除sources文件夹,我们可以添加 '--exclude' 选项:
--exclude 'sources'
rsync -e 'ssh -p 30000' -avl --delete --stats --progress --exclude 'sources' demo@192.168.1.120:/home/demo /backup/
排除 "public_html" 文件夹下的 "database.txt" 文件:
--exclude 'public_html/database.txt'
rsync -e 'ssh -p 30000' -avl --delete --stats --progress --exclude 'sources' --exclude 'public_html/database.txt' demo@192.168.1.120:/home/demo /backup/
排除掉同步目录中的类似*-prod.properties文件(比如global-prod.properties等)
/usr/bin/rsync -av -e "/usr/bin/ssh -p25791" --rsync-path="/usr/bin/rsync" --exclude=*-prod.properties --progress /opt/tomcat/webapps/awaken_beta/ 192.168.1.20:/Data/app/apache-tomcat-8/awakenweb/ROOT/
使用 '--exclude-from' 排除多个文件夹和文件
在里面定义要排除的文件夹和文件
vim /home/backup/exclude.txt
sources
public_html/database.*
downloads/test/*
rsync -e 'ssh -p 30000' -avl --delete --stats --progress --exclude-from '/home/backup/exclude.txt' demo@192.168.1.120:/home/demo /backup/
rsync拷贝时显示进度条提示
rsync -e "ssh -p22222" -avpgolr --progress db170630.tar.gz 192.168.1.198:/data/upload/
rsync同步时候限流操作
rsync -auvz --progress --delete --bwlimit=1000 远程文件 本地文件 //限制为1000kBytes/s
rsync参数详情
选项说明:
--delete-before 接收者在传输之前进行删除操作
--progress 在传输时显示传输过程
--a 归档模式,表示以递归方式传输文件,并保持所有文件属性
--H 保持硬连接的文件
--v 详细输出模式
--stats 给出某些文件的传输状态 rsync同步命令常用参数说明:
-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
-v, --verbose 详细模式输出
-p, --perms 保持文件权限
-g, --group 保持文件属组信息
-o, --owner 保持文件属主信息
-r, --recursive 对子目录以递归模式处理。同步目录的时候要加上这个参数
-l, --links 保留软链结,加上这个参数,同步过来的文件会保持之前的软链接属性不变
-H, --hard-links 保留硬链结
-e, --rsh=COMMAND 指定使用rsh、ssh方式进行数据同步
-z, --compress 对备份的文件在传输时进行压缩处理
--stats 给出某些文件的传输状态
--progress 打印同步的过程
--timeout=TIME 同步过程中,IP超时时间,单位为秒
--delete 删除那些目标目录中有而源目录中没有的多余文件。这个是rsync做增量方式的全备份的最佳选择方案!!!!!!
--delete-before 接受者在输出之前进行删除操作。即先将目标目录中文件全部删除,再将源目录文件拷贝过去。这是rsync保持目标目录跟源目录一致的方案!!!
--delete-after 在同步操作之后做比较,删除那些目标目录中有而源目录中没有的多余文件
--delete-excluded 删除目标目录中那些被该选项指定排除的文件
--ignore-errors 即使出现IO错误也进行删除,忽略错误
--exclude 指定同步时需要过滤掉的文件或子目录(即不需要同步过去的),后面直接跟不需要同步的单个文件名或子目录(不需要跟路径) ,过滤多个文件或子目录,就使用多个--exclude
--exclude-from 指定同步时需要过滤掉的文件或子目录,后面跟文件(比如/root/exclue.txt),然后将不需要同步的文件和子目录放到/root/exclue.txt下。
--version 打印版本信息
--port=PORT 指定其他的rsync服务端口
--log-format=formAT 指定日志文件格式
--password-file=FILE 从FILE中得到密码
--bwlimit=KBPS 限制I/O带宽,KBytes per second
|
Detect language Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bengali Bosnian Bulgarian Catalan Cebuano Chichewa Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Esperanto Estonian Filipino Finnish French Galician Georgian German Greek Gujarati Haitian Creole Hausa Hebrew Hindi Hmong Hungarian Icelandic Igbo Indonesian Irish Italian Japanese Javanese Kannada Kazakh Khmer Korean Lao Latin Latvian Lithuanian Macedonian Malagasy Malay Malayalam Maltese Maori Marathi Mongolian Myanmar (Burmese) Nepali Norwegian Persian Polish Portuguese Punjabi Romanian Russian Serbian Sesotho Sinhala Slovak Slovenian Somali Spanish Sundanese Swahili Swedish Tajik Tamil Telugu Thai Turkish Ukrainian Urdu Uzbek Vietnamese Welsh Yiddish Yoruba Zulu |
Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bengali Bosnian Bulgarian Catalan Cebuano Chichewa Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Esperanto Estonian Filipino Finnish French Galician Georgian German Greek Gujarati Haitian Creole Hausa Hebrew Hindi Hmong Hungarian Icelandic Igbo Indonesian Irish Italian Japanese Javanese Kannada Kazakh Khmer Korean Lao Latin Latvian Lithuanian Macedonian Malagasy Malay Malayalam Maltese Maori Marathi Mongolian Myanmar (Burmese) Nepali Norwegian Persian Polish Portuguese Punjabi Romanian Russian Serbian Sesotho Sinhala Slovak Slovenian Somali Spanish Sundanese Swahili Swedish Tajik Tamil Telugu Thai Turkish Ukrainian Urdu Uzbek Vietnamese Welsh Yiddish Yoruba Zulu |
rsync同步命令的更多相关文章
- 运维工作中常用到的几个rsync同步命令
作为一个运维工程师,经常可能会面对几十台.几百台甚至上千台服务器,除了批量操作外,环境同步.数据同步也是必不可少的技能.说到“同步”,不得不提的利器就是rsync. 下面结合本人近几年运维工作中对这一 ...
- rsync同步命令详解
一.rsync命令的解释sync(Synchronize,即“同步”)为UNIX操作系统的标准系统调用,功能为将内核文件系统缓冲区的所有数据(也即预定将通过低级I/O系统调用写入存储介质的数据)写入存 ...
- shell脚本 inotify + rsync 同步脚本
1.这是很简单的一个 文件监控+触发同步脚本 监控一台服务器下的一个文件夹,发生改变则向另一个个文件夹进行同步. 具体的inotify命令 rsync命令 可以看linux分类下的介绍 inoti ...
- 7z常用命令行&7z检测压缩包完整性&7z压缩包错误不执行rsync同步
7Z简介&常用命令 7Z脚本使用说明 7Z检测压缩包完整性脚本 7Z压缩包错误不执行Rsync脚本 1.7Z简介&常用命令 ⑴简介: 7z,全称7-Zip, 是一款开源软件.是目前公认 ...
- 使用rsync同步目录
本文描述了linux下使用rsync单向同步两个机器目录的问题. 使用rsync同步后可以保持目录的一致性(含删除操作). 数据同步方式 从主机拉数据 备机上启动的流程 同步命令: rsync -av ...
- [转]在Windows中配置Rsync同步
在Windows中配置Rsync同步 Rsync是一款不错的文件免费同步软件,可以镜像保存整个目录树和文件系统,同 时保持原来文件的权限.时间.软硬链接.第一次同步时 rsync 会复制全部内容,下次 ...
- Linux rsync 同步
rsync 是一个快速增量文件传输工具,它可以用于在同一主机备份内部的备分,我们还可以把它作为不同主机网络备份工具之用.本文主要讲述的是如何自架rsync服务器,以实现文件传输.备份和镜像.相对tar ...
- rsync常用命令及格式
rsync在同步文件夹内容这个工作上应用非常广泛,但是rsync本身命令还是比较复杂,本文总结一下: rsync = remote sync的简称 ,它 被用于在linux/unix系统中执行备份操作 ...
- rsync同步工具学习笔记
rsync同步工具 1.rsync介绍 rsync是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具.rsync软件适用于unix/linux/windows等多种操作 ...
随机推荐
- 【实用】Html5实现文件异步上传
1 简介 开发文件上传功能从来不是一件愉快的事,异步上传更是如此,使用过iframe和Flash的上传方案,也都感觉十分的别扭.本文简要简绍利用Html5的FormData实现文件的异步上传,还可以实 ...
- uvm_marcos——UVM宏定义
I programmed all night.Through the window, on my screen,The rising sun shined. 编程一整夜,透过窗户,照在屏幕上.初升的太 ...
- java实现打开Windows控制台窗口
在写Python程序的时候突发奇想了一下,能不能用java代码实现打开控制台窗口呢? 经过查询网络资料和java API文档,终于实现了: package com.primeton.cmd; impo ...
- iOS Category实现原理
iOS Category实现原理 实现原理 我们不主动引入 Category 的头文件,Category 中的方法都会被添加进主类中.我们可以通过 - performSelector: 等方式 对 C ...
- Date/Time Functions and Operators (Postgres)
http://www.postgresql.org/docs/9.1/static/functions-datetime.html Search Documentation: H ...
- mac上使用命令行显示隐藏文件
终端中输入命令 打开<终端> - 粘贴下面的两行命令执行 defaults write com.apple.finder AppleShowAllFiles TRUEkillall Fin ...
- 第009课 gcc和arm-linux-gcc和MakeFile
from:第009课 gcc和arm-linux-gcc和MakeFile 第001节_gcc编译器1_gcc常用选项_gcc编译过程详解 gcc的使用方法 gcc [选项] 文件名 gcc常用选项 ...
- ArcGis server连接oracle
ArcGIG server连接Oracle 目录--gis服务器--添加arcgis server 下一步: 身份验证为在arcgis server manager 中的管理员登录密码和账户 对于服务 ...
- PyCharm如何配置断点调试功能
1. 点击菜单 PyCharm -> Preferences.. 2. 在左侧菜单栏找到Project:Django - > Project Interpreter 并点击配置 Proje ...
- windows10 下安装、配置、启动mysql
下载mysql 可以自行去百度 或者 https://dev.mysql.com/downloads/mysql/5.7.html#downloads 解压mysql-5.7.26-winx64.zi ...