1. 本地终端与服务器互传数据(都在本地终端操作)
1.1 从本地终端上传数据到服务器:
scp -P 具体端口号 -r 本地终端数据路径 用户名@服务器地址:服务器数据保存路径
其中,-P表示指定端口号(注意P为大写),-r表示递归传输,下同。
1.2 从服务器下载数据到本地:
scp -P 具体端口号 -r 用户名@服务器地址:服务器数据保存路径 本地终端数据路径
其实上面并不是本文的重点,本文重点是如何不覆盖传输,即针对已存在的数据,直接跳过。
2. 不覆盖传输
rsync -avzu -e 'ssh -p 具体端口号' --progress 本地服务器数据地址用户名@服务器地址:远端服务器数据地址
-avzu中的u选项,指定不覆盖原目录内容;
–progress可以查看拷贝的过程;
‘ssh -p 具体端口号’,指定端口号;
2.1 可能存在的问题
2.1.1
针对机器中不存在rsync指令的问题,可执行以下命令:
apt-get install rsync -y
2.1.2
传送跟接收两台服务器都必须有rsync指令,如果存在以下错误:
bash: rsync: command not found
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: remote

本文详细介绍在Linux环境下,如何使用scp与rsync命令在本地终端与服务器间高效传输数据,特别聚焦于如何避免覆盖已存在文件,实现增量数据同步。文章提供了具体的命令示例,包括指定端口、递归传输等高级用法,并解决了rsync指令缺失的常见问题。

3638

被折叠的 条评论
为什么被折叠?



