zoukankan      html  css  js  c++  java
  • Linux下远程cp命令scp

    2014-2.19  PS1.在用此命令cpLinux与Linux之间的数据时发现有些服务器上默认没有安装scp但用yum -y install scp提示么有这样的包

    后来发现原来scp工具的安装包名字是openssh-clients

     yum -y install openssh-clients

    用-v检查是否安装成:scp -v 会提示帮助参数OK成功

    首先我们在日常维护Linux之间会互相传一些数据,本人菜鸟期间认为这个是一件很困难的事情,想到一些很繁琐的方法

    1.搭建ftp samba 或者用windows下的工具。

    来介绍下这些方法的缺点,1.ftp 和samba是很强大但需要安装和配置繁琐,影响我的工作目的更影响时间和经历。

    2.是windows下的工具这个是方便了些,操作也很简单,但一般工具的工作原理是将cp的数据先提取到你的windows主机内存里然后再进行一次复制,而且当CP大数据的时候效率很不理想。

    难道就没有一个简单而且效率的方法吗?答案是有的。因为小编一直相信Linux下的文本界面是无比强大的

    那就是scp

    首先我们大家可以在Linux下运行scp --help 或者man scp去查看下详细的命令格式和一些参数的应用,

    但一般接触Linux一段时间的人会自动 参数就不用记的与cp的参数基本一致。与大多数命令的参数也是基本一致

    比如 -r选项 就是cp这个目录下的所有文件

          -f就是强制的意思

         等等

    比如我现在登陆到PC1的终端想将PC1的/opt 目录下所有文件目录CP到PC2下的/opt下我只要执行

    scp -r /opt/ root@PC2:/opt/  ##回车后输入PC2的root密码就可以了

    但随着而来的又一个问题 但我在cp数据较大的文件需要24个小时以上 我不得不让我的笔记本烧24小时?不

    所以接着往下看

    nohup命令。

    nohup命令时一个可以在后台保持进程不被杀死的工具

    命令格式是nohup Command  &

    比如 nohup cp -r /opt/a  /home/ &    ##&符号是后台运行的意思 nohup是保持进程不被杀死 两个结合起来可以实现后台运行 这时候你就可以exit

    退出终端了。等明儿看的时候数据已经cp完了

    但这个命令在于scp结合的时候有一个问题 那就是当scp运行后需要输入密码 但后面加&后就无法正确的执行了。

    解决方法是让两台Linux服务器建立信任关系这样就不需要输入密码了 当然问题就迎刃而解了 但这样未必是一个麻烦的事情。要知道我们的目的是cp数据不是在做实验或者测试学习

    来自:http://extjs2.iteye.com/blog/1852367

    我们经常会从服务器A传文件到服务器B,  但有时候用PUTTY执行命令的时候, 文件传了一部分, PUTTY终端就关闭了, 这时候文件也没传完整。
     
    这里有一个解决把办法,让SCP命令在后台执行。
    用nohup命令
     
    Shell代码  收藏代码
    $nohup scp file_to_copy user@server:/path/to/copy/the/file > nohup.out 2>&1  
     
    这时候还不是在后台运行,你需要输入密码, 
    接着按ctr+z去暂停命令,
    然后用bg命令
     
    Shell代码  收藏代码
    bg  
     这个时候, 即使你关闭PUTTY, SCP还是在后台运行, 直到完成。
    

      

    本人亲测实验

    [root@180caldomain ~]# nohup scp -r /a/index.htm?mirrors.163.com%2F.help%2FCentOS6-Base-163.repo root@192.168.64.30:/opt/ >nohup.out 2>&1
    root@192.168.64.30's password: 
    [root@180caldomain ~]# ssh 192.168.64.30
    root@192.168.64.30's password: 
    Last login: Tue Nov 19 03:25:02 2013 from 192.168.64.200
    [root@AO180 ~]# cd /opt/
    [root@AO180 opt]# ls
    index.htm?mirrors.163.com%2F.help%2FCentOS6-Base-163.repo  rh    xwo
    lost+found                                                 soft
    [root@AO180 opt]# 
    

      

    那还有没有跟好的办法可以替代呢?答案是Linux的文本界面是很强大的 那就是

    screen 工具

    但这个也有一个短板就是centos 系统默认是没有安装的不过可以使用yum来安装。

    当然你也可以去安装盘或者网上下载到他的rpm包进行安装,本人yum安装的时候没发现需要安装其他依赖包所以还算是方便

  • 相关阅读:
    图像处理、分析与机器视觉读书笔记-------第二章图像及其表达与性质
    win7下VS2015+opencv3.1.0配置
    简单使用普通用户启动tomcat
    漏洞扫描,linux配置规范处理
    linux防火墙开放和禁用指定端口
    CentOS自带定时任务crontab
    linux之dos2unix命令
    CentOS7时间设置问题
    shell去除换行和空格
    log4j日志输出级别高低
  • 原文地址:https://www.cnblogs.com/patf/p/3520335.html
Copyright © 2011-2022 走看看