rsync同步时,--delete删除目标目录比源目录多余文件的方法 1 .实例说明服务器A上同步/tmp/work目录到远程服务器B的/tmp/work目录下,同时删除B服务器/tmp/work目录下相比于A服务器/tmp/work中多余的文件A同步到B:B的ip是11.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 eB: 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/
使用rsync的--delect-before参数来实现删除大量文件1)建立个空文件夹 mkdir /tmp/test2) 用rsync删除目标目录(删除log目录rsync实际上用的是替换原理,处理数十万个文件也是秒删)rsync --delete-before -aHv --progress --stats /tmp/test/ log/
***********************************************************************************************
关于rsync详情请看:https://www.cnblogs.com/weifeng1463/p/7809851.htmlrsync使用频率较高的本地推送到远程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.txtsourcespublic_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
G
M
T
Detect languageAfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBengaliBosnianBulgarianCatalanCebuanoChichewaChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDutchEnglishEsperantoEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekGujaratiHaitian CreoleHausaHebrewHindiHmongHungarianIcelandicIgboIndonesianIrishItalianJapaneseJavaneseKannadaKazakhKhmerKoreanLaoLatinLatvianLithuanianMacedonianMalagasyMalayMalayalamMalteseMaoriMarathiMongolianMyanmar (Burmese)NepaliNorwegianPersianPolishPortuguesePunjabiRomanianRussianSerbianSesothoSinhalaSlovakSlovenianSomaliSpanishSundaneseSwahiliSwedishTajikTamilTeluguThaiTurkishUkrainianUrduUzbekVietnameseWelshYiddishYorubaZulu | AfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBengaliBosnianBulgarianCatalanCebuanoChichewaChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDutchEnglishEsperantoEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekGujaratiHaitian CreoleHausaHebrewHindiHmongHungarianIcelandicIgboIndonesianIrishItalianJapaneseJavaneseKannadaKazakhKhmerKoreanLaoLatinLatvianLithuanianMacedonianMalagasyMalayMalayalamMalteseMaoriMarathiMongolianMyanmar (Burmese)NepaliNorwegianPersianPolishPortuguesePunjabiRomanianRussianSerbianSesothoSinhalaSlovakSlovenianSomaliSpanishSundaneseSwahiliSwedishTajikTamilTeluguThaiTurkishUkrainianUrduUzbekVietnameseWelshYiddishYorubaZulu |
Text-to-speech function is limited to 200 characters
: : : | Close |