rsync如何同步隐藏文件和排除文件?rsync同步隐藏文件和排除文件的方法

时间:2021-12-29 17:35:29

rsync同步命令的基本写法

rsync 命令选项 源目录 目标目录

假如源目录写为 /var/www/就会把该目录下所有文件同步到目标目录,如果写为/var/www/*,那么当前目录下的隐藏文件(文件夹名或文件名是以”.”号开头)则不会被同步,不过子目录中的隐藏文件还是会被同步。

假设需要排除某个文件(或文件夹),可以用–exclude来指定,例如需要排除源目录下的dir1文件夹,可以写为:

/usr/bin/rsync -vzrtopg –exclude=dir1 /var/www/src/ /var/www/dest

可以同时排除多条,例如:

/usr/bin/rsync -vzrtopg –exclude=dir1 –exclude=dir2 /var/www/src/ /var/www/dest

除了上述方法,还可以通过–exclude-from来指定,例如:

/usr/bin/rsync -vzrtopg –exclude-from=exclude.list /var/www/src/ /var/www/dest

exclude.list文件中指定需要排除的列表,例如:

dir1
[0-9]*
dir2/.[a-z0-9]*
.svn

含义是排除/var/www/dir1、/var/www目录下所有以数字作为名字的文件和文件夹、/var/www/dir2/目录下的隐藏文件和/var/www目录下所有.svn文件夹,包括其子目录中的.svn文件夹。

注意:exclude和exclude-from前面都是有两个减号,如果漏写了一个,命令行不会报错,但是不能排除执行的文件或文件夹。