📅  最后修改于: 2023-12-03 14:48:48.400000             🧑  作者: Mango
在服务器运维或者代码开发中,经常需要将本地电脑上的代码或者文件上传到远程服务器。常见的方法有使用FTP、SCP或者SFTP。但是这些方法不够高效和安全,尤其是在上传大量文件时更加明显。使用rsync命令可以更快捷、更安全地实现上传目录。本文介绍如何通过rsync命令将本地目录上传到远程服务器的方法。
在终端中输入以下命令,确认本地和远程服务器是否已经安装rsync:
rsync --version
如果已经安装,会显示出rsync的版本号。如果没有安装,需要先在本地和远程服务器上安装rsync,具体方法可以自行搜索。
使用ssh登录远程服务器,确保本地电脑可以连接远程服务器。具体方法可以参考这篇文章。
在终端中输入以下命令,将本地目录上传到远程服务器:
rsync -avz --progress 本地目录路径 远程服务器用户名@远程服务器IP:远程目录路径
参数说明:
-a
:归档模式,表示以递归方式传输文件,并保持所有文件属性,等同于-rlptgoD
选项的组合。-v
:详细模式,显示操作过程。-z
:压缩模式,传输过程中进行压缩。--progress
:显示传输进度。举例说明:假设本地目录路径为/home/user/source/
,远程服务器IP为192.168.1.100
,远程目录路径为/data/target/
,远程服务器用户名为root
,则上传命令为:
rsync -avz --progress /home/user/source/ root@192.168.1.100:/data/target/
如果需要上传当前目录下的所有文件,则本地目录路径可以用.
表示。如果需要上传某个文件夹下的所有文件,可以在最后加上/
。例如,如果要上传/home/user/source/folder/
下的所有文件,则本地目录路径为/home/user/source/folder/
。
上传完成后,可以通过ssh登录远程服务器,查看上传的文件是否已经存在于远程服务器上。
使用rsync命令可以快速、安全地实现上传目录,节省时间和精力。同时,rsync命令支持更多高级功能,如增量备份、文件同步等。在实际使用中,可以根据需要自行选择合适的参数。