rsync如何同步隐藏文件和排除文件?
rsync同步命令的基本写法
?
1 |
rsync 命令选项 源目录 目标目录 |
假如源目录写为 /var/www/就会把该目录下所有文件同步到目标目录,如果写为/var/www/*,那么当前目录下的隐藏文件(文件夹名或文件名是以”.”号开头)则不会被同步,不过子目录中的隐藏文件还是会被同步。
假设需要排除某个文件(或文件夹),可以用–exclude来指定,例如需要排除源目录下的dir1文件夹,可以写为:
?
1 |
/usr/bin/rsync -vzrtopg –exclude=dir1 /var/www/src/ /var/www/dest |
可以同时排除多条,例如:
?
1 |
/usr/bin/rsync -vzrtopg –exclude=dir1 –exclude=dir2 /var/www/src/ /var/www/dest |
除了上述方法,还可以通过–exclude-from来指定,例如:
?
1 |
/usr/bin/rsync -vzrtopg –exclude-from=exclude.list /var/www/src/ /var/www/dest |
exclude.list文件中指定需要排除的列表,例如:
?
1 2 3 4 |
dir1 |
含义是排除/var/www/dir1、/var/www目录下所有以数字作为名字的文件和文件夹、/var/www/dir2/目录下的隐藏文件和/var/www目录下所有.svn文件夹,包括其子目录中的.svn文件夹。
注意:exclude和exclude-from前面都是有两个减号,如果漏写了一个,命令行不会报错,但是不能排除执行的文件或文件夹。