晨翔科技新能源 發表於 2023-8-15 00:00:00

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">&amp;</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]
查看完整版本: Linux如何实现断点续传文件功能