用shell开发跳板机

信号列表:

在linux中和信号相关的常见命令为kill及trap命令,下来如何利用trap控制跳板机脚本来使用命令:

命令:kill  -l 和 trap  -l

企业实战中linux系统的重要信号及说明

HUP(1)         挂起

INT(2)           中断

OUIT(3)        退出

ABRT(6)        中止

ALRM(14)     报警

TERM(15)     终止

TSTP(20)       停止进程的运行,但该信号可能被处理或忽略

17.2使用trap控制信号

trap命令用户指定在接收到信号后采取行动,trap常见的一种用途是在脚本程序被中断时完成清理工作,或者屏蔽用户非法使用某些信号,在使用信号名时需要省略SIC前缀。

#trap '命令;命令'  信号编号

或者

#trap   '命令'  信号名

测试:

此处的信号名为2(INT),在使用crtl+c时就是出现echo后面的结果

命令处如果使用 ' ' 表示屏蔽ctrl+c功能,':' 表示开启功能

范例17:同时处理多个信号    这里所有的屏蔽0-60的所有数字信号,没看懂这里

下来时trap生产应用案例

大体意思时在脚本中放入trap命令。执行循环,然后按ctrl+c执行find那条删除命令

#!/bin/bash
#author:huipenggang
#mail:[email protected]

trap "find /tmp/xpg  -type f -name "hui_*" | xargs rm -f && exit" 2
while true
do
  touch /tmp/xpg/hui_"`date +%F-%T`"
  sleep 4
  ls -l /tmp/xpg
done
#ls /tmp/xpg

执行结果:

开发跳板机脚本:

前提是要在两台上面做免密认证:

#!/bin/bash
aa() {
cat << EOF
1. root 192.168.116.135
2. root 192.168.116.136
*. exit
EOF
}
fu() {
for ((i=1;i<4;i++))
do
  echo -n "."
  sleep 1
done
#echo -ne "\n"------mashang------" "
}
bb() {
  trap " " INT EXIT TSTP
  aa
  echo "---------mashang-----------"
  fu
  read -p "your choices:" num
  case $num in
  1)
    ssh 192.168.116.135
    ;;
  2)
    ssh 192.168.116.136
    ;;
  3)
    echo "this is bad"
esac
}
bb

原文地址:http://blog.51cto.com/11726212/2071699

时间: 2024-10-10 19:15:54

用shell开发跳板机的相关文章

利用Shell开发跳板机功能脚本案例

范例17_6::开发企业级Shell跳板机案例.要求用户登录到跳板机仅能执行管理员给定的选项动作,不允许以任何形式中断脚本到跳板机服务器上执行任何系统命令. 方法1: 1)首先做好SSH密钥验证(跳板机地址192.168.33.128). 以下操作命令在所有机器上操作: [[email protected] ~]# useradd jump  #<==要在所有机器上操作. [[email protected] ~]# echo 123456|passwd --stdin jump  #<==要

Shell实现跳板机,为什么用跳板机

整理自:http://blog.chinaunix.net/uid-22101889-id-3167454.html 注意:请谨慎使用,到现在为止,使用了,我还没找到改回去的方法. 1.     问题 第一.很多大公司的服务器都不允许直接登录,而是通过一个跳板机才能登录过去.在跳板机中,通常只能执行几个少数命令(如SSH),而其他命令是不允许执行的,那么怎样才能实现这个功能呢? 第二.一些小公司,由于服务器比较少,不需要什么跳板机之类的说法,公司的开发运维人员加起来也就那么十几二十人,通常大家都

shell 实现跳板机

zbuz添加用户,并批量分发ssh公钥脚本: #!/bin/bash . /etc/init.d/functions function add_user(){         jumper="$1"         useradd ${jumper}         echo 123456 | passwd --stdin ${jumper} >/dev/null 2>&1                 if [ `grep -o $jumper /etc/pas

Python+Dialog开发跳板机脚本

创建普通用户.密钥对,上传到要控制的机器免密码 控制机跳脚本代码展示 [[email protected] tiaoban]$ cat /etc/profile.d/tiaoban.sh [ $UID -ne 0 ] && python /scripts/tiaoban/tiaoban.py 目录结构 [[email protected] ~]$ cat /scripts/tiaoban/tiaoban.py [[email protected] ~]$ tree /scripts/tia

简单跳板机的搭建笔记

摘录自  https://github.com/LaiJingli/open_bastion_host 环境: CentOS6.7 X86_64 跳板机地址:192.168.2.11 后端服务器地址:192.168.2.12 0.下载跳板机文件 git clone https://github.com/LaiJingli/open_bastion_host.git 1.创建跳板机用户 先创建tianbanji用户及tiaobanji组,只有跳板机组的用户ssh登录时才登录到非shell的跳板机程

Linux下Dialog+Shell三层目录专业规范跳板机脚本

#Dialog+Shell介绍 Dialog+Shell结合使用,方能体现出Dialog图形化的效果,在运维的时候,使用图形化界面,能给你一个更直观的感受,相信你会喜欢上他的 #创建脚本目录  [[email protected] ~]# mkdir -p /scripts/tiaoban/{qqandroid,qqios,qqwxandroid,wxios,menu_list} #禁止普通用户登陆 [[email protected] ~]# cat /etc/profile.d/tiaoba

通过跳板机建立信任,对多个tomcat服务统一安装部署(shell编写)

=========================================================== conf : 录入服务器IP.安装路径后,脚本自动获取需要修改配置.每个服务提供一个配置文件,方便管理与扩展. bin : 提供总执行与单一执行脚本,脚本通过自动化获取配置,便于维护与扩展. bak : 保留获取原配置文件,便于问题分析. temp : 临时文件将及时删除无任何冗积. tools: 常用配置与通用文件处理写入统一函数,具体服务只需调用. new : 服务器交互文

shell脚本实现企业级简易跳板机案例

跳板机用途只做ssh中转,为严格控制跳板机数据进出.命令管理等,特对跳板机入口操作进行限制管理.该脚本包含两种界面风格,详见下面说明 . 功能说明: * 屏蔽用户对跳板机系统进行任何未授权操作操作 * 查询用户已授权主机,具备权限用户方可连接后台服务器 * 授权命令集合(密钥生成.上传.copy,密码更改等),可根据实际需求自定义 * 此脚本依赖于LDAP用户管理,如无LDAP服务,可自行定义用户和主机组对应关系即可 界面一:用户授权登陆主机数量不超过20台 通过选择左侧列表序号登陆右侧主机 选

shell 写登录跳板机

准备3台机器 1.linux-node1  ip:10.89.3.108 (跳板机) 2.weblamp      ip:10.89.3.100 3.weblnmp      ip:10.89.3.101 3台系统环境如下: [[email protected] ~]$ cat /etc/redhat-release  CentOS release 6.8 (Final) 1)首先做好SSH密钥验证 在所有的3台机器上执行下面操作  [[email protected] ~]#useradd j