shell脚本模拟键盘输入完成程序交互(定时从起docker部署的项目样例)

背景

最近有一个利用docker部署的组件(test1)每天晚上12-1点总是会停止工作,但又找不到异常原因,重启后恢复正常,国庆将至,打算写一个定时任务每天凌晨2点重启该组件

已知条件

docker部署的组件路径:/data/app_ansible/test1

手动重启docker步骤如下

cd /data/app_ansible/test1
sh ./exec.sh
-----------------------------------------------------
------------tomcate快速部署配置-----------------------
-----------------------------------------------------
以下为执行模式
1:部署安装  2:配置同步  3:启动  4:重启  5:停止  6:卸载   n:退出部署
请选择执行模式:4
-----------------------------------------------------
以下为主机列表(选着多个目标用空格隔开)
1:192.168.1.2
*:全部
n:退出部署
请选择执行目标主机:1重启过程代码省略

从上面的过程可以看出需要手动输入执行模式(重启,即输入4)以及执行目标主机(只有一台,即输入1)

创建脚本

创建restartTest1.sh脚本并加入如下代码

#! /bin/bash
cd /data/app_ansible/test1
sh ./exec.sh << XXG
4
1
XXG

注意:注意第三行的末尾的“<< XXG”以及末尾成对出现的XXG是关键,中间的4和1分别是执行exec.sh过程中需要依次输入的两次参数。

然后执行crontab -e添加定时任务即可

11 2 * * * sh /data/app_ansible/test1/restartTest1.sh

shell脚本模拟键盘输入完成程序交互(定时重启docker部署的项目样例)相关推荐

  1. Ubuntu16.04利用expect模拟键盘输入实现自动化交互

    在Linux的日常使用中,经常会有自动化交互的需要,如SSH,手动的操作繁琐.效率地下,使用expect工具可以模拟键盘输入,实现自动输入.自动交互. 1,安装  sudo apt install e ...

  2. vc++6.0 模拟鼠标点击代码 木马程序的编写 VC 模拟键盘输入

    From: http://fengqing888.blog.163.com/blog/static/33011416201112124481/ MFC 工程 把以下代码放到你想要响应的函数里面就行 C ...

  3. python 模拟键盘输入:以钢琴模拟器脚本与模拟中文输入为例

    用到的库:keyboard,threading,time 代码: # 导入模块 import threading import time import keyboard 先写两个主要的函数出来: # ...

  4. php虚拟键盘输入,[问题] bash下如何模拟键盘输入

    你的位置: 问答吧 -> Shell -> 问题详情 [问题] bash下如何模拟键盘输入 我想要在bash下模拟键盘输入. 现在有两个实例. 1. 如果我在使用未配置sudo nopas ...

  5. python模拟键盘输入字符_Python | 根据关键字符串遍历窗口 模拟键盘输入操作

    在自动化脚本测试某个程序的过程中,偶尔会因为文件读取操作弹出各种信息窗口,导致自动化脚本无法继续往下执行.为了解决这个问题,需要隔一段时间对信息窗口进行一次遍历,针对需要处理的窗口进行模拟键盘输入操作 ...

  6. 用VBS脚本模拟键盘操作

    用VBS脚本模拟键盘操作 背景 制作VBS脚本 保存下面的VBS程序代码到Txt文件中 根据自己的实际清空修改下列代码中的内容. 修改txt文件后缀为vbs 在计算机的CMD窗口中运行此脚本 后记,关 ...

  7. 通过javascript在IE模拟键盘输入

    今天有个东西需要在浏览器中模拟键盘组合键,比如 Ctrl + M . 在网上搜索了一下,资料都不是我想要的. 后来想想,从安全性考虑浏览器应该不会提供这样的功能. 不过在网上找了两段代码,还是有点用处 ...

  8. adb 模拟键盘输入、点击屏幕、滑动、按键等操作

    1. 模拟键盘输入 adb shell input keyboard text "abc" 2. 模拟点击屏幕指定位置 adb shell input tap 500 500 3. ...

  9. java中像scanf一样多个输入_VB模拟键盘输入的N种方法

    VB模拟键盘输入的N种方法http://bbs.csdn.net/topics/90509805hd378发表于: 2006-12-24 14:35:39用VB模拟键盘事件的N种方法 键盘是我们使用计 ...

最新文章

  1. 0x43.数据结构进阶 - 线段树
  2. 什么是pretext tasks?
  3. OpenStack服务组件介绍
  4. 怎么样用vue ui来创建一个vue项目
  5. ubuntu mysql 多端口_ubuntu 16.04下mysql5.7.17开放远程3306端口
  6. springboot HBase操作工具类
  7. 设计模式(一)简单工厂(创建型)(JavaPHP)
  8. HDU - 6203 ping ping ping(LCA+dfs序+线段树)
  9. [html] 如何禁止html页面缓存?
  10. 计算机应用技术老师全国计算机应用技术考试,全国计算机应用证书 全国计算机应用技术证书考试作业.doc...
  11. System Verilog面向对象编程(OPP)基础——类(class)的基本使用
  12. 为什么要使用 JavaScript
  13. Windows Xp下 无法定位程序输入点WSAPoll于动态链接库ws2_32.dll 的解决办法
  14. 十分钟倒计时flash_Flash 101-第6部分:最终倒计时
  15. 希尔伯特变换与三瞬属性简介
  16. 双吉他伴奏配合的有关问题
  17. 创蓝253云通讯 paas 短信发送接口和定义说明
  18. Linux上配置BIP语言编译器及引擎
  19. 如何实现上拉加载,下拉刷新?
  20. attachment和inline的区别

热门文章

  1. 计算机如何取消自动关机,电脑怎么取消自动关机【处理形式】
  2. 使用小波包变换分析信号的matlab程序,使用小波包变换分析信号的MATLAB程序(转)...
  3. [CF796E Round#408 Div.2]Exam Cheating——[计数DP]
  4. 个人Javascript学习
  5. Android开发之监听手机来电
  6. app不能备份数据,更改allowBackup为true,并重新打包apk
  7. html5 幽灵按钮,弥散阴影幽灵按钮
  8. oracle数据库block、tigger、function、package
  9. android图片压缩工具类
  10. 秉火429笔记之五控制RGB彩灯