|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
对于linux命令,一定要学会用man和info去查他们的解释;
成绩:怎样避开同步指定的文件夹?--exclude
rsync--excludefilesandfolders
http://articles.slicehost.com/2007/10/10/rsync-exclude-files-and-folders
很罕见的情形:我想同步/下的/usr/boot/,可是不想复制/proc/tmp这些文件夹
假如想避开某个路径间接增加--exclude便可
好比--exclude“proc”
--exclude‘sources
Note:thedirectorypathisrelativetothefolderyouarebackingup.
注重:这个路径必需是一个绝对路径,不克不及是相对路径
例子:源服务器/home/yjwan/bashshell有一个checkout文件夹
[root@CentOS5-4bashshell]#ls-dlcheckout
drwxr-xr-x2rootroot4096Aug2109:14checkou
如今想要完整避开复制这个文件夹内容怎样办?
方针服务器实行
rsync-av--exclude“checkout”yjwan@172.16.251.241:/home/yjwan/bashshell/tmp
将不会复制这个文件夹
[root@free/tmp/bashshell]#ls-d/tmp/bashshell/checkout
ls:/tmp/bashshell/checkout:Nosuchfileordirectory
注重:
1现实上,体系会把文件和文件夹厚此薄彼,假如checkout是一个文件,一样不会复制
2假如想避开复制checkout内里的内容,能够这么写--exclude“checkout/123”
3牢记不成写为--exclude“/checkout”如许相对路径
如许写将不会制止checkout被复制
好比
[root@free/tmp/bashshell]#rsync-av--exclude“/checkout”yjwan@172.16.251.241:/home/yjwan/bashshell/tmp
receivingfilelist…done
bashshell/checkout/
4可使用通配符避开不想复制的内容
好比--exclude“fire*”
那末fire打头的文件大概文件夹全体不会被复制
5假如想要避开复制的文件过量,能够这么写
--exclude-from=/exclude.list
exclude.list是一个文件,安排的地位是相对路径的/exclude.list,为了不出成绩,最好设置为相对路径。
内里的内容必定要写为绝对路径
好比我想避开checkout文件夹和fire打头的文件
那末/exclude.list写为
checkout
fire*
然后实行以下命令,注重写为--exclude-from大概--exclude-from=都能够
可是不克不及为--exclude
rsync-av--exclude-from=”/exclude.list”yjwan@172.16.251.241:/home/yjwan/bashshell/tmp
反省了局:的确避开了checkout文件夹和fire打头的文件
成绩:怎样盘算对照复制今后的文件数目是不是准确呢?
1检察毛病日记,看是不是复制时分出成绩了
2在源服务器实行可晓得详细文件和文件夹的总个数
lsCAlR|grep“^[-d]”|wc
然后方针服务器在盘算一遍个数
看看数字是否是能对的上就ok了
对不上再研讨怎样回事
3如今的成绩是:假如我利用了--exclude参数就贫苦了
我怎样晓得要复制几个文件?
起首,后面命令时分提到过一种写法,就是只要源地点,没有方针地点的写法,这类写法能够用来列出一切应当被复制的文件
那末用这个命令,能够盘算出这个/root/bashshell上面文件和文件夹数目
在服务器端实行
[root@CentOS5-4bashshell]#rsync-av/root/bashshell/|grep“^[-d]”|wc
623104249
和ls失掉的了局分歧的
[root@CentOS5-4bashshell]#ls-AlR|grep“^[-d]“|wc
625583731
因而,好比说我不要fire打头的文件,能够在服务器端先如许盘算要复制的文件
[root@CentOS5-4bashshell]#rsync-av--exclude“fire*”/root/bashshell/|grep“^[-d]”|wc
442202695
然后复制已往
看方针呆板的文件和文件夹数目为
[root@free/tmp]#ls-AlR/tmp/bashshell/|grep“^[-d]“|wc
443962554
能够晓得2者是同步的
成绩:Rsync的其他几个罕见参数
1
-zCcompresscompressfiledataduringthetransfer
--compress-level=NUMexplicitlysetcompressionlevel
--skip-compress=LISTskipcompressingfileswithsuffixinLIST
紧缩传输,假如收集带宽不敷,那末应当紧缩今后传输,损耗确当然是呆板资本,可是假如内网传输的话,文件数目不是良多的话,这个参数不用要的。
2
--password-file=FILE
后面说过了,只要远端呆板是rsync服务器,才干用这个参数
假如你觉得个FILE写的是ssh上岸的暗码,那就年夜错特错了,很多人犯了这个毛病。
3
Cstats:Addsalittlemoreoutputregardingthefiletransferstatus.
4
Cprogress:showstheprogressofeachfiletransfer.Canbeusefultoknowifyouhavelargefilesbeingbackupup.
关于这个参数:
Ifrequentlyfindmyselfaddingthe-Poptionforlargetransfers.Itpreservespartialtransfersincaseofinteruption,andgivesaprogressreportoneachfileasitsbeinguploaded.
Imovelargemediafilesbackandforthonmyservers,soknowinghowlongthetransferhasremainingisveryuseful.
•PreviousEntry:nginx天天准时切割Nginx日记的剧本
•NextEntry:怎样开启MySQL的远程帐号
学习linux,就意味着更快的开发效率,等更多关于软件本身或者说操作系统本身的理解。 |
|