在进行SCP文件拷贝中,往往需要进行用户密码的输入,即用户交互。若采用自动化脚本的方式进行,则可用以下方式

#!/usr/bin/expect

# 设置参数

set src [lindex $argv 0]

set dest [lindex $argv 1]

set password [lindex $argv 2]

set appId [lindex $argv 3]

# 进行拷贝,采用秘钥验证(需要输入秘钥的密码 scp的i参数可指定)方式进行

set timeout 2000

spawn scp -i /home/hadoop/.ssh/id_rsa_soa -r $src $dest

expect {

"(yes/no)" {send "yes\r\n";exp_continue} "*passphrase*:" {send "秘钥的密码\r\n";exp_continue}

"app*:" {send "$password\r\n"}

}

expect eof

在进行git的自动化提交代码可用:

#!/usr/bin/expect

cd dir

exec git add .

exec git commit -m "update by yourName"

spawn git push

expect {

"Password*" {send "password\r\n"}

}

expect eof

scp linux 自动化,expect(spawn) 自动化git提交和scp拷贝---centos(linux)相关推荐

  1. Linux命令--expect spawn的用法(实现人机交互自动化操作)

    一.作用 1.Except命令适用于人机交互场景进行使用,是处理交互的常用命令,可以将交互的过程写成一个脚本,通过调用脚本完成自动化过程: 2.适用场景:ssh登录,ftp登录等 二.基本语法 1.C ...

  2. linux ssh expect,linux命令expect实现ssh登陆

    SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议.利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题.那么你知道linux命令expect实现ssh登陆么?接下来是小编为大 ...

  3. centos / Linux 服务环境下安装 Redis 5.0.3

    centos / Linux 服务环境下安装 Redis 5.0.3 原文:centos / Linux 服务环境下安装 Redis 5.0.3 1.首先进入你要安装的目录 cd /usr/local ...

  4. centos linux 内核升级,Centos系统的升级及Linux 内核升级

    系统及内核版本: [root@node5 ~]# cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) [root@node5 ~] ...

  5. CentOS Linux 内核升级

    参考: https://www.kernel.org/ http://elrepo.org/tiki/tiki-index.php https://www.lijiaocn.com/%E6%8A%80 ...

  6. Linux shell 脚本实现u盘挂载及文件拷贝

    Linux shell 脚本实现u盘挂载及文件拷贝 对于linux系统来说.使用mount命令(需管理员模式使用)来进行挂载硬盘 对于我的虚拟机来说.在插入u盘时,使用sudo fdisk -l命令设 ...

  7. pe读linux硬盘分区工具_已经成功把pe安装到linux分区,并能读写linux分区

    优点:Windows中一般是不能读写linux分区的,除非用了相应的工具.因此把pe安装到linux分区是比较安全的,而且pe可以读写linux分区,这样你的系统也可以备份到linux分区了. 步骤: ...

  8. Linux集群和自动化运维

    Linux/Unix技术丛书 Linux集群和自动化运维 余洪春 著 图书在版编目(CIP)数据 Linux集群和自动化运维/余洪春著. -北京:机械工业出版社,2016.8 (Linux/Unix技 ...

  9. Linux部署python接口自动化教程,基于centos7 python3

    Linux部署python接口自动化教程 1.安装jenkins 2.安装插件和依赖 **安装allure插件(测试报告)** **配置allure依赖** 安装python3.x依赖环境 **安装p ...

最新文章

  1. gdb调试: 多线程-宏-条件断点
  2. error RC2108: expected numerical dialog constant
  3. jconsole工具检测堆内存变化
  4. Flask/Django/Tornado语法对比(持续更新中)
  5. 浅谈Vue内置component组件的应用场景
  6. datastage 重启 续
  7. 精心设计的基于组件的C# Win Forms实践 一个框架数据库驱动多个业务逻辑数据库...
  8. 获得网页中元素的位置
  9. Spurious wakeup
  10. R语言的帮助文档以及相关函数
  11. java 替换字母_【Java项目】将字符串中的字母全部替换成字母的下一个字母
  12. 某一个社会舆情事件发展走势和动态要如何分析的方法
  13. 《数据分析实战》--用R做多元回归分析
  14. gif文件太大怎么办?gif动图如何在线压缩?
  15. 春季舞蹈比赛1 c++
  16. 数据帮助企业决策案例_大数据可以如何帮助您的企业
  17. 打破传统的控制理论之(控制理论+深度学习)
  18. 【财经期刊FM-Radio|2020年11月14日】
  19. 时间序列预测(2):AI助力精准气象和海洋预测
  20. 谷歌chrome运行activeX控件

热门文章

  1. Hibernate第十一篇【配置C3P0数据库连接池、线程Session】
  2. 20145324 《Java程序设计》第6周学习总结
  3. stm32_DMA采集一个AD数据_并通过DMA向串口发送
  4. twisted 安装时,安装顺序为 zope.interface -twisted
  5. 不错的html学习网址。
  6. Leetcode--494. 目标和
  7. Leetcode--283. 移动零
  8. 关于tensorflow的碎片
  9. psycopg2.errors.UndefinedTable: relation “xxxx“ does not exist
  10. java 遗传算法_[原]遗传算法Java实现源代码