Raj*_*ran 4 command-line rsync
我想从一个文件夹中进行 rsync,该文件夹包含index.php(需要排除),并且许多其他目录也包含 index.php。我创建了一个排除文件并在那里添加了 index.php。但是所有的 index.php 文件都不见了。是否有任何适当的方法可以避免同步唯一的文件?
rsync 使用相对于根 rsync 文件夹的目录。你应该能够使用类似的东西来实现这一点
rsync -aAX ./ ../target --exclude=/index.php
Run Code Online (Sandbox Code Playgroud)
“ /”将表示根目录。
该--exclude过滤器的工作原理是这样的:
如果模式不以斜杠开头,则它匹配路径的末尾,树中的任何位置。
--exclude myfile.txt匹配任何目录中调用myfile.txt的任何文件。
--exclude logs/myfile.txt比赛myfile.txt中任何所谓的目录logs。
如果模式以斜杠开头,则它锚定到所传输文件的根目录。
要确定传输文件的根是什么,请删除源路径中最后一个斜杠之后的所有内容。
例如,在下面的 rsync 命令中,源路径是/srv/files/something,所以传输的根是/srv/files/。
rsync -a /srv/files/something host:/backup/files/
Run Code Online (Sandbox Code Playgroud)
因此,要排除源文件,/srv/files/logs/myfile.txt您将使用--exclude /logs/myfile.txt,其中排除模式开头的斜杠指的是传输的根,它植根于/srv/files/(在源上)。
| 归档时间: |
|
| 查看次数: |
5545 次 |
| 最近记录: |