使用rsync高效传输文件
以下命令演示如何在新的Linux服务器上下载文件,并详细解释每个参数:
rsync -avz -e 'ssh -p 22' --partial --progress --bwlimit=50000 root@192.168.0.2:/www/wwwroot/wwwroot.tar.gz /www
- -a, --archive: 归档模式,递归传输文件并保留所有文件属性。
- -v, --verbose: 详细模式输出,方便监控传输过程。
- -z, --compress: 传输过程中压缩文件,节省带宽和时间。
- -e 'ssh -p 22': 指定使用ssh协议,端口号为22(默认端口)。
- --partial: 断点续传,支持中断后继续传输。
- --progress: 显示传输进度。
- --bwlimit=50000: 限速为50MB/s。
- root@192.168.0.2:/www/wwwroot/wwwroot.tar.gz: 源服务器地址、用户名、文件路径。
- /www: 目标服务器上的保存路径。
使用scp传输文件及参数详解
另一种文件传输方法是使用scp命令:
scp -P 2222 -l 600000 -r root@192.168.0.2:/data/要传送的目录或文件 /本地保存路径
- -P 2222: 指定远程服务器端口为2222。
- -l 600000: 限速为600KB/s (注意单位)。
- -r: 支持递归复制整个目录。
scp命令参数详细说明:
参数 | 说明 |
---|---|
-1 | 强制使用SSH协议版本1。 |
-2 | 强制使用SSH协议版本2。 |
-4 | 强制使用IPv4寻址。 |
-6 | 强制使用IPv6寻址。 |
-B | 批处理模式,传输过程中不询问密码。 |
-C | 允许压缩。 |
-p | 保留原文件的修改时间、访问时间和权限。 |
-q | 静默模式,不显示进度条。 |
-r | 递归复制整个目录。 |
-v | 详细模式输出。 |
-c cipher | 使用指定加密算法。 |
-F ssh_config | 指定替代的ssh配置文件。 |
-i identity_file | 指定密钥文件。 |
-l limit | 限制带宽,单位为Kbit/s。 |
-o ssh_option | 使用ssh_config(5)中的参数传递方式。 |
-P port | 指定端口号(注意是大写P)。 |
-S program | 指定加密传输时使用的程序。 |
选择rsync还是scp取决于具体需求,rsync更适合大文件传输和断点续传,scp则更简洁易用。 记住根据实际情况调整限速参数,避免影响网络性能。