scp
特点:安全易用,适用于单文件小容量传输。
例子:将主机A的 file.txt 文件传输到主机B的 dir 目录。
scp /主机A/file.txt root@192.168.1.1:/主机B/dir
例子:将主机A的 dir01 目录(包括所有子目录和文件)传输到主机B的 dir02 目录下,目标实际效果为/主机B/dir02/dir01
。
scp -Cpr ./主机A/dir01 root@47.98.248.151:/主机B/dir02
- -C:压缩传输(大写)。
- -p:保持与源文件相同的修改和访问时间等(小写)。
- -r:递归复制目录。
若对端主机默认端口为非 22 端口,则可以按如下参数指定端口。
scp -P 2222 /主机A/file.txt root@192.168.1.1:/主机B/dir
rsync
特点:支持断点续传,适用于多文件多目录大容量传输。
例子:将主机A中 dir01 目录下的内容同步到主机B中的 dir01 目录(会覆盖主机B的旧文件)。
rsync -aPhz /主机A/dir01/ root@192.168.1.1:/主机B/dir01
这里需要注意最后的斜杠,加与不加是有区别的。前面加了表示目录下的内容,后面不加表示目录,即意为将内容传到目录下。
- -a:归档模式,相当于-rlptgoD,即递归目录、保留符号链接、保持权限和修改时间、保持所有者(仅超级管理员)和组、保持设备文件和特殊文件。
- -P:采用分片传输,保留已传输文件,以便断点续传。
- -h:单位表示可读性。
- -z:压缩传输(当发现传输速度低于磁盘读写正常速度时,请去掉这个参数)。
若对端主机默认端口为非 22 端口,则可以按如下参数指定端口。
rsync -avPhz -e 'ssh -p 2222' /主机A/dir01/ root@192.168.1.1:/主机B/dir01
nc
特点:适用于小文件大容量传输。
源机器 192.168.1.1
tar -cf - -C /data/dir01 . | pigz | nc -l 9876
目标机器 192.168.1.2
nc 192.168.1.1 9876 | pigz -d | tar -xf - -C /data/dir02
评论区