rsync 断点续传 限速

rsync

https://blog.youkuaiyun.com/u014389734/article/details/119793591

rsync-linux断点续传(超越scp)
https://juejin.cn/post/7021503974175932453

什么是断点续传?
在网络状况不好的情况下,对于文件的传输,我们希望能够支持可以每次传部分数据。断点续传其实正如字面意思,就是在下载的断开点继续开始传输,不用再从头开始。所以理解断点续传的核心后,发现其实和很简单,关键就在于对传输中断点的把握,我就自己的理解画了一个简单的示意图:
Linux断点续传文件
在Linux系统上传与下载文件的时候,很容易断开,或者是大文件传输,如何在断开后继续传输不用重新开始,这里我们可以用到Linux的rsync
使用说明
文件断点下载
rsync -P --rsh=ssh root@192.168.0.11:/root/large.tar.gz /dounine/targe.tar.gz
文件断点上传
rsync -P --rsh=ssh /dounine/targe.tar.gz root@192.168.0.11:/root/large.tar.gz
文件目录断点下载
rsync -P --rsh=ssh -r root@192.168.0.11:/root/storage /dounine
文件目录断点上传
rsync -P --rsh=ssh -r /dounine root@192.168.0.11:/root/storage
后台运行,将以上脚本放入shell文件中
cat bg.sh
rsync -P --rsh=ssh -r root@192.168.0.11:/root/storage /dounine &
后台运行
chmod +x bg.sh
nohup ./bg.sh

rsync + ssh 断点续传
#rsync同步本地文件 filename 到远程机器 192.168.188.188 服务器的/data/tmp目录下
rsync -avzP -e ‘ssh -p 61204’ --bwlimit=5000 filename username@10.20.90.101:/data/tmp/ >> scp_to_101.log
-a:以archive模式操作,复制目录、符号连接,等价于 -rlptgoD 。
-v:详细提示
-z:压缩
-P:是综合了–partial --progress两个参数
–partial
如果在拷贝文件的过程中,传输被中断,rsync的默认操作是撤消前操作,即从目标机上删除已拷贝的部分文件。
如果想在下次拷贝时续传文件,不需要重新拷贝所有文件的话,可以使用-partial选项阻止rsync在传输中断时删除已拷贝的部分
–progress 显示进度条
-e:参数的作用是可以使用户自由选择欲使用的shell程序来连接远端服务器
ssh -p 61204 指定ssh的端口(非默认22)61204
–bwlimit: --bwlimit=5000 限制带宽为5000k Bytes/s =5MB
上例:使用rsync传输本地文件filename到192.168.188.188的/data/tmp目录下 使用压缩归档传输、限速5MB、支持断点续传 使用ssh协议

screen
四、使用screen

screen -S myjobs

会弹出一个新的会话框,输入您想要输入的耗费时间的命令,然后测试一下网络中断

screen -r myjobs(恢复)

然后就可以看到命令执行的进度了。而且,在你断网的这一段时间里,服务器端的命令一直在运行着。

<think> 我们正在讨论rsync操作示例。根据用户提供的引用,rsync是一个功能强大的文件同步工具,支持本地和远程同步,具有压缩、增量备份、保留文件属性等功能。 引用[1]提到Rsync可以用于复制、备份和同步,甚至可以将站点克隆到多个站点。引用[2]和[3]给出了rsync的基本语法和一些常用选项,如-z(压缩)、-a(归档模式)、-v(详细输出)、--delete(删除目标中多余文件)等。引用[4]展示了--progress选项的使用,它可以显示同步的详细进度。引用[5]则是一个定时任务的例子,使用rsync进行自动同步。 用户请求查找rsync操作示例,因此我将提供一些常见的rsync使用场景和示例命令,并解释每个命令的用途和选项。 注意:在示例中,源目录和目标目录可以是本地路径,也可以是远程路径(格式如:user@host:path)。同时,确保在命令中正确使用选项。 我将按照以下结构组织回答: 1. 基本同步(本地到本地) 2. 本地到远程同步 3. 远程到本地同步 4. 使用压缩 5. 显示进度 6. 删除目标中多余文件 7. 排除特定文件或目录 8. 限速传输 9. 定时备份(结合cron) 每个示例都将包含命令和简要说明。同时,我将确保在适当的地方引用提供的引用内容。 最后,按照要求生成相关问题。 </think> 以下是 `rsync` 操作的实用示例及解析,结合引用内容说明核心功能: ### 一、基础同步操作 1. **本地目录同步**(保留权限和时间戳) ```bash rsync -av /source/dir/ /destination/dir/ ``` - `-a`:归档模式(保留权限、所有者等属性)[^3] - `-v`:显示详细同步过程 *示例:备份 `/home/user/docs` 到外部硬盘* 2. **远程服务器同步**(SSH加密传输) ```bash rsync -avz -e ssh user@remote-server:/var/www/ /local/backup/ ``` - `-z`:启用压缩减少带宽[^2] - `-e ssh`:通过SSH加密传输 --- ### 二、高级功能示例 3. **增量备份并删除目标多余文件** ```bash rsync -avz --delete /source/ user@backup-server:/backups/ ``` - `--delete`:删除目标端源目录不存在的文件[^3] *适用场景:镜像目录严格同步* 4. **显示实时传输进度** ```bash rsync -avz --progress /large-files/ remote:/destination/ ``` - `--progress`:实时显示每个文件传输进度(如传输百分比、速度)[^4] ```output file1.iso 1.2GB 100% 120MB/s 0:00:10 (xfr#1, to-chk=15/20) ``` 5. **定时自动化备份**(cron任务) ```bash 0 3 * * * rsync -azP --password-file=/secure/pass web@192.168.1.10::data /backups/ ``` - `-P`:等价于 `--partial --progress`(断点续传+进度) - `--password-file`:安全存储密码[^5] *每天凌晨3点自动同步* --- ### 三、关键选项说明 | 选项 | 作用 | 引用 | |------------|-------------------------------|---------| | `-a` | 归档模式(保留元数据) | [^3] | | `-z` | 压缩传输节省带宽 | [^2] | | `--delete` | 删除目标端多余文件 | [^3] | | `--progress`| 实时显示传输进度 | [^4] | | `-e ssh` | 指定SSH加密通道 | 通用实践 | > **注意事项** > - 目录路径结尾的 `/` 影响行为:`/source/` 同步内容,`/source` 同步整个目录 > - 首次同步大文件建议添加 `--partial` 支持断点续传 > - 生产环境务必用 `--dry-run` 先模拟测试(不实际执行)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值