1.推送

scp -r imageAPP/ root@ip:/data/soft/

本地当前文件下的 imageAPP文件 推送到ip服务器 /data/soft/ 目录下

2.拉取

scp -r root@ip:/data/mysqlbackup /home/backup

拉取ip服务器 /data/mysqlbackup 文件到本地 /home/backup 目录下

自动拉取

因为拉取需要密码,所有手动执行时可以去输入密码,但如果是自动拉取,则需要借助expect

安装 expect

yum -y install expect

具体使用查看 https://blog.csdn.net/qq_41944882/article/details/105956317

vi  test.sh

#!/usr/bin/expect

#set password "**********"

spawn scp -r root@ip:/data/mysqlbackup /home/backup

expect {

"密码:"

{

send "$password\n"

}

"password"

{

send "$password\n"

}

"yes/no"

{

sleep 5

send_user "send yes"

send "yes\n"

}

eof

{

sleep 5

send_user "eof\n"

}

}

set timeout 3000

send "exit\r"

expect eof

但是只能直接set具体的值,如果想获取当前时间之类的则需要使用下面的方式

vi start.sh

#!/bin/sh

DATE=`date +%Y%m%d`

file=****_${DATE}*.sql.gz

password=******

#传递参数

./hanby $password $file

echo "pull data end"

vi hanby

#!/usr/bin/expect

#按顺序接受传递过来的参数

set password [lindex $argv 0]

set file [lindex $argv 1]

#全部拉取

#spawn scp -r root@47.94.203.241:/data/mysqlbackup/${BACK_DATA}.sql.gz /home/backup/mysqlbackup

#拉取指定的文件

spawn scp -r root@47.94.203.241:/data/mysqlbackup/$file /home/backup/mysqlbackup

expect {

"密码:"

{

send "$password\n"

}

"password"

{

send "$password\n"

}

"yes/no"

{

sleep 5

send_user "send yes"

send "yes\n"

}

eof

{

sleep 5

send_user "eof\n"

}

}

set timeout 3000

send "exit\r"

expect eof

注意:2个文件放在同一目录

scp 文件传输的更多相关文章

  1. Linux中crontab下scp文件传输的两种方式

    Linux下文件传输一般有两个命令scp.ftp(工具需要下载安装) 本文主要讲讲scp的文件传输脚本 1.scp ssh-keygen -t rsa免输入密码,传输 这里假设主机A 用来获到主机B的 ...

  2. ubuntu 本地和服务器scp文件传输

    安装 SSH(Secure Shell) 服务以提供远程管理服务 sudo apt-get install ssh SSH 远程登入 Ubuntu 机 ssh username@192.168.0.1 ...

  3. Linux下几种文件传输命令 sz rz sftp scp

    Linux下几种文件传输命令 sz rz sftp scp 最近在部署系统时接触了一些文件传输命令,分别做一下简单记录: 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具 ...

  4. [原创] Linux下几种文件传输命令 sz rz sftp scp介绍

    Linux下几种文件传输命令 sz rz sftp scp介绍 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具.由于它是基于SSH的,会在传输过程中对用户的密码.数据等 ...

  5. linux 文件传输 SCP

    SCP :secure copy (remote file copy program) 也是一个基于SSH安全协议的文件传输命令.与sftp不同的是,它只提供主机间的文件传输功能,没有文件管理的功能. ...

  6. 文件传输协议FTP、SFTP和SCP

    网络通信协议分层 应用层: HTTP(Hypertext Transfer Protocol 超文本传输协议,显示网页) DNS(Domain Name System) FTP(File Transf ...

  7. Linux使用scp远程传输命令进行服务器文件互传(阿里云服务器)

    阿里云同一个区的的两个云服务器,通过内网进行文件传输,速度快不说(正常传输文件的速度能达到35m~50m/s),还不占用公网带宽. 阿里云云服务器有一个安全组策略,可能需要设置下 内网入.出方向的IP ...

  8. 文件传输协议(FTP,SFTP,SCP)(修改中)

    FTP(File Transfer Protocol):是TCP/IP网络上两台计算机传送文件的协议,FTP是在TCP/IP网络和INTERNET上最早使用的协议之一,它属于网络协议组的应用层.FTP ...

  9. linux命令(28):Linux下SCP无需输入密码传输文件,python 中scp文件

    python 中scp文件:(如果下面的发送免密码已经完成的话,就直接能用下面这个) os.system('scp "%s" "%s:%s"' % (" ...

随机推荐

  1. 【Java 基础】Arrays.asList、ArrayList的subList注意事项

    1. 使用Arrays.asList的注意事项 1.1 可能会踩的坑 先来看下Arrays.asList的使用: List<Integer> statusList = Arrays.asL ...

  2. matplotlib画直线图的基本用法

    一  figure使用 1 import numpy as np 2 import matplotlib.pyplot as plt 3 4 # 从-3到中取50个数 5 x = np.linspac ...

  3. Maven的聚合工程(多模块工程)

    在开发2个以上模块的时候,每个模块都是一个 Maven Project.比如搜索平台,学习平台,考试平台.开发的时候可以自己管自己独立编译,测试,运行.但如果想要将他们整合起来,我们就需要一个聚合工程 ...

  4. 03 - Vue3 UI Framework - 首页

    顶部边栏做完了,接下来开始做官网的首页 返回阅读列表点击 这里 创建视图文件夹 让我们先新建一个 src/views 文件夹,用来存放官网的主要视图 然后在该文件夹下新建两个 vue 文件,作为我们的 ...

  5. SWPUCTF_2019_login(格式字符串偏移bss段)

    题目的例行检查我就不放了,将程序放入ida中 很明显的值放入了bss段的格式字符串,所以我们动态调试一下程序 可以看到ebp这个地方0xffd0dd17-->0xffd0dd38-->0x ...

  6. BZOJ 题目乱做

    记录一点在 BZOJ 上做的题. 众所周知原 BZOJ 炸掉了,于是跑去了 HydroOJ 的 BZOJ 域上面做. 目录 P1001 [Beijing2006]狼抓兔子 P1002 [FJOI200 ...

  7. C++11 新特性:enable_shared_from_this

    enable_shared_from_this是一个模板类,定义于头文件<memory>,其原型为:template< class T > class enable_share ...

  8. SQL:大表多表更新的两种方法

    #标记不参与计算的明细(跨平台的或is_end=2)#跨平台订单:暂不处理 说明:大表即order_list_wx,几十万,需要根据小表(order_list_zfb ,几万)来做更新,查出两个平台都 ...

  9. velocity使用foreach进行遍历时$velocityCount不起作用

    把$velocityCount替换成$foreach.count 例如 #if($foreach.count != $columns.size()),#end

  10. IDEA报错 Unable to open debugger port (127.0.0.1:63342): java.net.BindException "Address already in use

    Unable to open debugger port (127.0.0.1:63342): java.net.BindException  "Address already in use ...