Linux如何实现断点续传文件功能
<p><span><strong>什么是断点续传?</strong></span></p>
<p>
在网络状况不好的情况下,对于文件的传输,我们希望能够支持可以每次传部分数据。断点续传其实正如字面意思,就是在下载的断开点继续开始传输,不用再从头开始。所以理解断点续传的核心后,发现其实和很简单,关键就在于对传输中断点的把握,我就自己的理解画了一个简单的示意图:</p>
<p>
<img title="Linux如何实现断点续传文件功能" alt="Linux如何实现断点续传文件功能" height="731" src="https://zhuji.jb51.net/uploads/img/202305/fab8b6cd49103b20c8d9d102879c80fb.jpg" width="803"></p>
<p>
<span><strong>linux断点续传文件</strong></span></p>
<p>
在linux系统上传与下载文件的时候,很容易断开,或者是大文件传输,如何在断开后继续传输不用重新开始,这里我们可以用到linux的rsync</p>
<p>
<span><strong>使用说明</strong></span></p>
<p>
文件断点下载</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_406425">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">rsync</code> <code class="bash plain">-p --rsh=</code><code class="bash functions">ssh</code> <code class="bash plain">root@192.168.0.11:</code><code class="bash plain">/root/large</code><code class="bash plain">.</code><code class="bash functions">tar</code><code class="bash plain">.gz </code><code class="bash plain">/dounine/targe</code><code class="bash plain">.</code><code class="bash functions">tar</code><code class="bash plain">.gz</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
文件断点上传</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_352775">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">rsync</code> <code class="bash plain">-p --rsh=</code><code class="bash functions">ssh</code> <code class="bash plain">/dounine/targe</code><code class="bash plain">.</code><code class="bash functions">tar</code><code class="bash plain">.gz root@192.168.0.11:</code><code class="bash plain">/root/large</code><code class="bash plain">.</code><code class="bash functions">tar</code><code class="bash plain">.gz</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
文件目录断点下载</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_802235">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">rsync</code> <code class="bash plain">-p --rsh=</code><code class="bash functions">ssh</code> <code class="bash plain">-r root@192.168.0.11:</code><code class="bash plain">/root/storage</code> <code class="bash plain">/dounine</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
文件目录断点上传</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_221556">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">rsync</code> <code class="bash plain">-p --rsh=</code><code class="bash functions">ssh</code> <code class="bash plain">-r </code><code class="bash plain">/dounine</code> <code class="bash plain">root@192.168.0.11:</code><code class="bash plain">/root/storage</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
后台运行,将以上脚本放入shell文件中</p>
<p>
cat bg.sh</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_239145">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">rsync</code> <code class="bash plain">-p --rsh=</code><code class="bash functions">ssh</code> <code class="bash plain">-r root@192.168.0.11:</code><code class="bash plain">/root/storage</code> <code class="bash plain">/dounine</code> <code class="bash plain">&</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
后台运行</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_505745">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">chmod</code> <code class="bash plain">+x </code><code class="bash functions">bg</code><code class="bash plain">.sh</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash functions">nohup</code> <code class="bash plain">.</code><code class="bash plain">/bg</code><code class="bash plain">.sh</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
<span><strong>普通方式上传下载</strong></span></p>
<p>
上传文件</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_801388">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">scp</code> <code class="bash plain">/dounine/targe</code><code class="bash plain">.</code><code class="bash functions">tar</code><code class="bash plain">.gz root@192.168.0.11:</code><code class="bash plain">/root/large</code><code class="bash plain">.</code><code class="bash functions">tar</code><code class="bash plain">.gz</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
下载文件</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_661327">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">scp</code> <code class="bash plain">root@192.168.0.11:</code><code class="bash plain">/root/large</code><code class="bash plain">.</code><code class="bash functions">tar</code><code class="bash plain">.gz </code><code class="bash plain">/dounine/targe</code><code class="bash plain">.</code><code class="bash functions">tar</code><code class="bash plain">.gz</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
上传目录</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_374874">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">scp</code> <code class="bash plain">-r </code><code class="bash plain">/dounine</code> <code class="bash plain">root@192.168.0.11:</code><code class="bash plain">/root</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
下载目录</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_557621">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">scp</code> <code class="bash plain">-r root@192.168.0.11:</code><code class="bash plain">/root/storage</code> <code class="bash plain">/dounine</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
<span><strong>总结</strong></span></p>
<p>
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。</p>
<p>
原文链接:http://www.jianshu.com/p/d2cda2fab59e</p>
頁:
[1]