Linux中rsync命令是一种文件同步和备份工具。它可以在本地主机之间同步文件,也可以在本地主机与远程主机之间同步文件。
安装rsync命令
在大部分Linux发行版中,rsync命令已经默认安装。但是如果发现当前系统没有安装最新版本的rsync,可以通过以下命令进行安装:
ubuntu和debian
$ sudo apt-get install rsync
redhat和centos
$ sudo yum install rsync
命令语法
rsync命令的语法如下所示:
rsync [OPTIONS] SRC DEST
其中SRC表示源文件或源目录,DEST表示目标文件或目标目录,OPTIONS是可选参数。
常用参数与示例
以下是rsync命令的常见参数和示例说明:
1. -a
该参数可以同时保留文件时间、文件权限、文件类型等信息来保证数据的一致性。其中-a选项是下面几个选项的集合:
- -r 递归复制子目录
- -l 复制符号链接 (软链接)
- -p 保留文件权限
- -o 保留文件属主信息
- -g 保留文件属组信息
- -t 保留文件修改时间
示例:
将本地的/source目录同步到本地的/destination目录:
$ rsync -a /source /destination
2. -v
该参数可以在命令行输出信息的时候显示详细过程,便于查看拷贝过程和状态类信息。
示例:
将本地/source目录同步到远程目标服务器的/destination目录,并且输出详细过程:
$ rsync -av /source user@server:/destination
3. -z
该参数可以在传输数据时对数据进行压缩,减少传输的数据量,提高传输速度。
示例:
将本地/source目录同步到远程目标服务器的/destination目录,并且对传输的数据进行压缩:
$ rsync -az /source user@server:/destination
4. -e
在远程主机上同步文件时,需要使用ssh协议进行连接,该参数可以指定使用自定义的ssh连接选项。默认情况下,rsync使用ssh默认端口22。
示例:
将本地/source目录同步到远程目标服务器的/destination目录,并且自定义ssh连接选项:
$ rsync -avz -e "ssh -p 2222" /source user@server:/destination
5. –delete
该参数会在目标目录中删除与源目录不同的文件和目录,保持目录结构的一致性。
示例:
将本地/source目录同步到本地/destination目录,并且剔除在源目录已经被删除的文件:
$ rsync -avz --delete /source /destination
总结
rsync命令是一个很方便的文件同步和备份工具,其灵活的参数选项使得它可以适用于多种不同的场景,如本地主机之间同步、本地主机与远程主机之间同步等。通过本文介绍的常用参数和示例,读者应该能够熟练掌握rsync命令的用法并能够在实际工作中灵活运用。