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安装的时候没发现需要安装其他依赖包所以还算是方便

Linux下远程cp命令scp的更多相关文章

  1. Linux入门培训教程 linux下拷贝cp删除rm移动mv命令参数以及说明

    拷贝移动删除在windows中看起来这么简单,但linux经常使用的文字界面,所以对于linux系统 下拷贝cp删除 rm 移动mv命令参数就不得不需要了解和学习了 cp 该命令的功能是将给出的文件或 ...

  2. Linux下远程备份、上传工程,重启服务器

    Linux下远程备份.上传工程,重启服务器 Linux服务器实现远程,原项目的备份.删除,新项目上传,以及远程重启服务器!分成一个主shell调用三个shell文件步骤完成.mainsh.sh一次按顺 ...

  3. [转] 关于linux下通过shell命令(自动)修改用户密码

    关于linux下通过shell命令(自动)修改用户密码 2012-04-23 18:47:39 分类: 原文地址:关于linux下(自动)修改用户密码 作者:ubuntuer 本文章总结了如何手动.自 ...

  4. linux下常用FTP命令

    linux下常用FTP命令 1. 连接ftp服务器 1. 连接ftp服务器格式:ftp [hostname| ip-address]a)在linux命令行下输入: ftp 192.168.1.1b)服 ...

  5. linux下远程管理利器-tmux

    linux下远程管理利器-tmux 1.控制键       控制键就是tmux的主键.当你在tmux环境下按下这个键的时候,tmux就会把你后面输入的指令,解析成它内置的功能.tmux默认的控制键是 ...

  6. Linux下使Shell 命令脱离终端在后台运行

    --Linux下使Shell 命令脱离终端在后台运行------------------------------------2014/02/14你是否遇到过这样的情况:从终端软件登录远程的Linux主 ...

  7. linux下常用FTP命令 上传下载文件【转】

    1. 连接ftp服务器 格式:ftp [hostname| ip-address]a)在linux命令行下输入: ftp 192.168.1.1 b)服务器询问你用户名和密码,分别输入用户名和相应密码 ...

  8. 移植ARM linux下远程连接工具dropbear

    移植ARM linux下远程连接工具dropbear 原文地址:http://www.cnblogs.com/NickQ/p/9010529.html 移植zlib 下载地址:https://gith ...

  9. Linux下剪切拷贝命令

    Linux下剪切拷贝命令   命令格式: mv   source    dest   mv: 命令字   source: 源文件   dest: 目的地址   Linux下拷贝命令   命令格式:cp ...

随机推荐

  1. 关于runtime

    http://www.jianshu.com/p/ab966e8a82e2 看这个网址即可

  2. iOS——关于创建真机调试证书(发布证书,测试(调试)证书,推送调试证书)、iOS开发者账号申请 请用开发者账号去iTunes connect 查看状态

  3. Jenkins入门系列之——00答疑解惑

    写在最前的总结:Jenkins其实就是一个工具,这个工具的作用就是调用各种其他的工具来达成你的目的.比如你要获取Subversion上最新的源代码,Jenkins会去调用SVNKIT(插件的核心Jar ...

  4. 优化Webstorm

    Webstorm这个编辑器还是很强大的,而且版本更新得快,支持最新的typescript,就是性能越来越低. 本文总结了一些优化Webstorm的有效方法,希望对大家有所帮助! 测试环境 Mac OS ...

  5. 【MPI学习4】MPI并行程序设计模式:非阻塞通信MPI程序设计

    这一章讲了MPI非阻塞通信的原理和一些函数接口,最后再用非阻塞通信方式实现Jacobi迭代,记录学习中的一些知识. (1)阻塞通信与非阻塞通信 阻塞通信调用时,整个程序只能执行通信相关的内容,而无法执 ...

  6. 总结一下工作中遇到的NPOI以及在ASP.NET MVC中的使用

    1.前言 相信大家在工作中经常要遇到一些导入导出Execl操作.学习贵在分享,分享使人快乐,园子里的前辈已经有很多好的文章,鄙人也是能力有限,在这里把这些好的文章总结,方便以后再工作中使用. NPOI ...

  7. 接受客户端传的inputstream类型转成string类型

    public string GetReqContent() { var request = HttpContext.Current.Request; var contentStream = reque ...

  8. [BZOJ 1816][Cqoi2010]扑克牌(二分答案)

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1816 分析: 我先以为是道水题,但是要注意的是每套牌中Joker只能用1张的,所以就出现了可能 ...

  9. AngularJS开发指南6:AngularJS表单详解

    表单控件(input, select, textarea )是用来获取用户输入的.表单则是一组有联系的表单控件的集合. 用户能通过表单和表单控件提供验证的服务,知道自己的输入是否合法.这样能让用户交互 ...

  10. angular_routerJS_学习

    //这几天看了angularjs和backbone,大看了解了knockout和emberjs,刚刚上网看到了一个angular的router的demo,现在顺便记下来 <!--- DEMO_I ...