zoukankan      html  css  js  c++  java
  • Linux命令学习(2): scp和rsync基本用法与断点续传

    版权声明:本文为博主原创文章,未经允许不得转载。

    引子

    在平常的工作中,我经常需要在远程服务器和本地之间传输文件。

    以前我都使用scp命令,直到今天因为网络中断,scp出现了stalled。

    因为上传的是一个100G的文件,所以如果需要重新传非常消耗时间。

    好在过了一会儿scp自动断点续传了,但还是很后怕,因为我不确定scp是否能每次都成功断点续传。

    所以这时候rsync就非常必要了。

    scp和rsync对比:scp节约资源,系统负荷小,但断点续传是个问题;rsync速度更快,断点续传方便,但系统负荷大,尤其是传输很多文件的时候,硬盘I/O非常高。

    scp

    scp [OPTION] SRC DEST

    常用参数:

    -r:递归拷贝目录

    -q:不显示进度

    -l:限制传输带宽,单位是kbits/s

    例如:

    scp -r -l 200 /home/user/exampledir user@192.168.XXX.XXX:/home/user/

    在输入命令后,系统会要求输入user在192.168.XXX.XXX的登录密码,密码正确后就开始复制,scp默认显示复制进度。

    如果我们经常在两个服务器之间拷贝文件,这时候就需要一个非常有用的技术:scp免密码拷贝文件。(见另一篇随笔)

     scp免密码拷贝和ssh免密码登录: https://www.cnblogs.com/liuyihua1992/p/9602324.html

    rsync

    rsync [OPTION] SRC DEST

    常用参数:

    --progress: 显示拷贝进度

    --partial:保留不完整文件,实现断点续传

    --partial-dir=DIR:指定不完整文件的存储目录,而不是默认存储到目的地目录。

    -P:包含--progress和--partial

    --rsh=ssh:使用ssh方式传输文件,注意:如果之前设置过ssh免密码登录,那么此时也就不需要密码了,非常方便

    -v:显示详细信息

    -a:归档模式。也就是以递归方式传输文件,并保持所有文件属性。

    -r:递归方式传输文件

    断点续传:

    所以,只要我们使用下面的命令传输数据,在断开重连后,再输入同样的命令就可以实现断点续传了:

    rsync -P --rsh=ssh yliu@192.168.200.2:/home/yliu/test.mp4 /root
  • 相关阅读:
    c++ primer 中讲的顶层const 和 底层 const 理解
    github 0 学习
    MySQL 0 学习
    c++11 move构造函数和move operator 函数 学习
    c++11 多线程 1
    c++ 多线程 0
    学习 emplace_back() 和 push_back 的区别 emplace_back效率高
    crontab执行脚本失败问题
    lucene 排序
    maven 内置变量
  • 原文地址:https://www.cnblogs.com/liuyihua1992/p/9602313.html
Copyright © 2011-2022 走看看