rsync的简单使用
安装
在Ubuntu/debain上安装rsync
sudo apt-get install rsync
查看rsync版本
rsync --version
相关参数
-a:指归档模式,会保持文件的所有属性,递归同步子目录文件并保留符号链接、权限、时间戳、用户和组信息等。
-v:指详细模式,会显示同步过程中的详细信息。
-z:压缩传输数据,在传输过程中对数据进行压缩,以减少传输的数据量和时间,对于网络带宽有限的情况可以显著提升传输效率。没有此参数时,数据将未压缩地传输。
–delete:rsync只能确保源目录的所有内容(明确排除的文件除外)都同步到目标目录,不会使两个目录保持相同,并且不会删除文件。如果要使得目标目录成为源目录的镜像副本,则必须使用–delete参数,这将删除只存在于目标目录、不存在于源目录的文件。
–exclude:同步时排除某些文件或文件夹
1、在本机上进行同步目录操作
将source目录同步到目标目录destination
rsync -av /path/to/source /path/to/destination
要将 /home/test/project 目录同步到 /backup/project 目录,而不同步源目录中的test.txt文件
rsync -av --exclude 'test.txt' /home/test/project /backup/project
要将 /home/test/project 目录同步到 /backup/project 目录,而不同步源目录中的隐藏文件
rsync -av --exclude '.*' /home/test/project /backup/project
例:要将 /home/test/project 目录同步到 /backup/project 目录
rsync -av /home/test/project /backup/project
或
rsync -avz /home/test/project /backup/project
在本地同步文件,原理同上,例:
要将 /home/test/project/test.txt 文件同步到 /backup/project 目录
rsync -avz /home/test/project/test.txt /backup/project
2、本机两个目录保持同步
将 /path/to/source/ 同步到 /path/to/destination/ 并删除目标目录多余的文件
rsync -av --delete /path/to/source/ /path/to/destination/
3、远程同步数据
1、将本地系统的文件同步到远程服务器
将本地服务器上的/path/to/source/同步到远程服务器/path/to/destination/目录
此处user指用户名,remote替换为ip地址即可,执行完成输入密码确认传输即开始,注意源服务器与目标服务器均需安装rsync
rsync -av /path/to/source/ user@remote:/path/to/destination/
2、将远程服务器文件同步到本地服务器
将远程服务器/path/to/source/同步到本地服务器/path/to/destination/
rsync -av user@remote:/path/to/source/ /path/to/destination/
参考链接: