两台服务器间文件如何传输?对于小文件,可以先从Linux服务器传到window,再传到另一台服务器。对于大的文件,如测序数据、比对文件等。这样的方法显然太笨。

scp一个命令就能解决。

一、上传

常规操作

从当前服务器上传到另一个服务器。

# 文件
$ scp file yourname@192.168.0.101:your/path
# 目录
$ scp -r dir yourname@192.168.0.101:your/path

以上端口默认是22的,能满足我们大部分需求。然,当你在服务器上做过端口映射(或者外网连接地址),端口就不是22的情况时,需要指定目标端口号。

$ scp -P 10001 file  yourname@192.168.0.101:your/path

以上,回车后会提示你输入目标服务器的密码。如果没反应,八成是连接有问题。可先ping下两台服务器的网络,是否正常。

建议

虽然可传输文件夹(目录),但对于大文件建议还是压缩后再传,提高传送速度。大文件压缩工具推荐pigz(搭配tar使用),压缩速度很快,且压缩率不输于其他软件。

$ tar -cvf - test |pigz -k >test.tar.gz

另外,涉及到任何文件传送,注意有md5相匹配,养成良好习惯。

$ md5sum test.tar.gz >md5

后台运行

Linux间传输的另一个最大优点,就是可以将任务放后台运行,无需等待。

但是你如果直接在上面scp加上nohup scp... &是不起作用的。这里需要一点Linux的基础。

首先运行scp:

$ nohup scp file  yourname@192.168.0.101:your/path
# nohup可省略

输入密码后,输入ctrl+z挂起。

再输入bg使进程在后台运行。

$ bg
#或 %1,表示后台第一个工作号, %可忽略
$ bg %1

注意在这里虽然任务已在后台运行,但如果你此时关闭当前会话窗口或客户端,任务是不会继续执行的。这显然不是我们真正想要的,我有过教训。

如何让任务真正在后台运行,即关闭窗口后还能继续?

只需在上面一步基础上再加上disown -h将作业忽略HUP信号(从当前的shell中移除作业)。

# 查看任务
$ jobs
$ disown -h
#或
$ disown -h %1
# 若有多个任务,可选择
$ disown -h %2 # 查看任务运行状态和父进程号
$ ps -ef|grep scp
# 退出
$ exit

这时,即使你断开会话任务,任务仍然可在后台运行。

disown参数解析:

-h    标记每个作业标识符,这些作业将不会在shell接收到sighup信号时接收到sighup信号。
-a 移除所有的作业。
-r 移除运行的作业。

二、下载

从目标服务器下载文件到当前服务器。

$ scp yourname@192.168.0.101:/home/test.txt /your/path

和上传文件很相似,不赘述。

https://www.cnblogs.com/no7dw/archive/2012/07/07/2580307.html

https://www.cnblogs.com/jyzhao/p/6253728.html

https://www.jianshu.com/p/76221b8b1af8

https://blog.csdn.net/qq_29307291/article/details/72819802

http://c.biancheng.net/view/1079.html

如何使用scp在Linux服务器的后台传输文件?的更多相关文章

  1. SCP,scp linux2台机器之间如何传输文件

    关键词:scp 转自: http://blog.csdn.net/gatieme https://blog.csdn.net/gatieme/article/details/51673229 scp传 ...

  2. 在linux下一般用scp这个命令来通过ssh传输文件

    在linux下一般用scp这个命令来通过ssh传输文件. 1.从服务器上下载文件scp username@servername:/path/filename /var/www/local_dir(本地 ...

  3. 向linux服务器上传下载文件方式收集

    向linux服务器上传下载文件方式收集 1. scp [优点]简单方便,安全可靠:支持限速参数[缺点]不支持排除目录[用法] scp就是secure copy,是用来进行远程文件拷贝的.数据传输使用 ...

  4. Linux下不借助工具实现远程linux服务器上传下载文件

    # Linux下不借助工具实现远程linux服务器上传下载文件 ## 简介 - Linux下自带ssh工具,可以实现远程Linux服务器的功能- Linux下自带scp工具,可以实现文件传输功能 ## ...

  5. 使用scp命令,不同服务器之间拷备文件

    使用scp命令,不同服务器之间拷备文件 先将源服务器,目标服务器安装scp服务 yum -y install openssh-clients 命令格式 scp source dist usage: s ...

  6. SpringBoot读取Linux服务器某路径下文件\读取项目Resource下文件

    // SpringBoot读取Linux服务器某路径下文件 public String messageToRouted() { File file = null; try { file = Resou ...

  7. 用scp这个命令来通过ssh传输文件

    小结: 1. upload files 到 ssh 服务器 localhost $ scp localfile root@172.20.34.**:~/remotepath 2. 从 ssh 服务器d ...

  8. 转自ruby迷: 使用Net::SSH和Net::SCP编写Linux服务器管理脚本

    试了一下perl下安装ssh模块,整了半天linux/window上都装不上,各依赖模块的版本总是匹配不上,后改了一下思路,用ruby吧 Net::SSH和Net::SCP是两个Ruby操作SSH的g ...

  9. 从Linux服务器下载上传文件

    首先要确定好哪两种的连接:Linux常用的有centors和unbantu两种版本,PC端Mac和Windows 如果在两个Linux之间传输,或Linux和Mac之间传输可以使用scp命令,类似于s ...

随机推荐

  1. 【UE4 C++】 Datatable 读写、导入导出 CSV/Json

    Datatable 读取行数据 1. 创建结构体 继承自 FTableRowBase USTRUCT(BlueprintType) struct FSimpleStruct :public FTabl ...

  2. Noip模拟37 2021.8.12

    T1 数列 真是考场上不是数学的乱推柿子,想定理,是数学的没想出来.. 比较悲伤... 列柿子不用动脑子,就是没有想出来$EXgcd$解不定方程,淦.. 解处一组解后利用比较显然的性质: $x+\fr ...

  3. STM32中按键中断分析

    在按键学习中,我们有用到查询的方法来判断按键事件是否发生,这种查询按键事件适用于程序工作量较少的情况下,一旦程序中工作量较大较多,则势必影响程序运行的效率,为了简化程序中控制的功能模块的执行时间,引入 ...

  4. 你真的了解电子邮件系统的组成和结构吗?(SMTP、POP3、IMAP、MIME……)

    文章转自:https://blog.csdn.net/weixin_43914604/article/details/105896201 学习课程:<2019王道考研计算机网络> 学习目的 ...

  5. hdu 1198 Farm Irrigation(并查集)

    题意: Benny has a spacious farm land to irrigate. The farm land is a rectangle, and is divided into a ...

  6. TypeScript 泛型及应用

    TypeScript 泛型及应用 一.泛型是什么 二.泛型接口 三.泛型类 四.泛型约束 4.1 确保属性存在 4.2 检查对象上的键是否存在 五.泛型参数默认类型 六.泛型条件类型 七.泛型工具类型 ...

  7. PTA 7-7 六度空间 (30分)

    PTA 7-7 六度空间 (30分) "六度空间"理论又称作"六度分隔(Six Degrees of Separation)"理论.这个理论可以通俗地阐述为:& ...

  8. 计算机网络-3-5-以太网MAC层及交换机

    MAC层的硬件地址 在局域网中,硬件地址又称为物理地址或者MAC地址(因为这种地址用在MAC帧中) IEEE 802标准为局域网规定了一种48位(6字节)的全球地址,固化在适配器的ROM中. 如果计算 ...

  9. Part 31 AngularJS page refresh problem

    What is the issue : When you navigate to http://localhost/students, you will see list of students as ...

  10. 全面的Docker快速入门教程

    前言: 都2021年了,你还在为了安装一个开发或者部署环境.软件而花费半天的时间吗?你还在解决开发环境能够正常访问,而发布测试环境无法正常访问的问题吗?你还在为持续集成和持续交付(CI / CD)工作 ...