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. GET传参数方式

    controller:/getDetail/{id} /getDetail?id1234567 /getDetail?id=id1234567

  2. Mysql实例 表设计

    目录 一.介绍 二.设计表格 三.查询 查都有哪些公司 查A公司都放了哪些广告 查A公司10月份该交多少广告费 四.分析 表结构设置 sql语句 其它功能 一.介绍 有一个公司叫月亮集团,他们旗下有很 ...

  3. MySQL信息系统函数

  4. Xpath 使用技巧

    使用xpath 简介 常见语法 选取节点 谓语 通配符 选取多个路径 运算符 其他用法 使用contains选取包含属性 使用tostring()将对象转换为字符串 使用starts-with 使用n ...

  5. [BUUCTF]REVERSE——[HDCTF2019]Maze

    [HDCTF2019]Maze 附件 步骤: 例行检查,32位程序,upx壳 upx脱壳儿后扔进32位ida,首先检索程序里的字符串 有类似迷宫的字符串,下面也有有关flag的提示字符串,但是没法进行 ...

  6. Sentry 开发者贡献指南 - 前端 React Hooks 与虫洞状态管理模式

    系列 Sentry 开发者贡献指南 - 前端(ReactJS生态) Sentry 开发者贡献指南 - 后端服务(Python/Go/Rust/NodeJS) 什么是虫洞状态管理模式? 您可以逃脱的最小 ...

  7. java 输入输出IO 转换流-字符编码

    编码和其产生的问题: 计算机中储存的信息都是用二进制数表示的,而我们在屏幕上看到的数字.英文.标点符号.汉字等字符是二进制数转换之后的结果. 按照某种规则,将字符存储到计算机中,称为编码 .反之,将存 ...

  8. Raft论文概述

    介绍 Raft是一种为了管理复制日志的一致性算法.为了提升可理解性,Raft 将一致性算法分解成了几个关键模块,例如领导人选举.日志复制和安全性.同时它通过实施一个更强的一致性来减少需要考虑的状态的数 ...

  9. 快速上手FastJSON

    前言 作为一名后端开发而言肯定会接触数据,把数据提供给前端或者把数据存储起来,目前比较火热的传输格式是json,给前端传json是再常见不过啦,甚至是往db里面直接存入json. 在java层面来说j ...

  10. JAVA中BufferedImage与byte[]转换

    BufferedImage转byte[] ByteArrayOutputStream out = new ByteArrayOutputStream(); ImageIO.write(imgBuff, ...