利用shell为MobaXterm生成session模板

简介: 利用shell为MobaXterm生成session模板

1、前言

  1. 其实这是一件花里胡哨的事情
  2. 自己平时用虚拟机跑一些linux测试,日常的习惯是克隆DHCP网络的机器,所以每次的IP都会是新的
  3. 于是乎,每次用MobaXterm连接新机器,都需要新建session(有的时候机器多,一个一个建立真的很烦)

4.于是就有了如下华而不实的操作

2、导出MobaXterm的session模板

  1. User sessions这里右键
  2. 选择Export all sessions to file,导出sessions的模板
  3. 导出的模板名称为:MobaXterm Sessions.mxtsessions(只要后缀是.mxtsessions,就可以导入MobaXterm)
  4. 下面我们看一下导出的模板内容
[Bookmarks]
SubRep=
ImgNum=42
192.168.10.2 (root)=#109#0%192.168.10.2%22%root%%-1%-1%%%22%%0%0%0%%%-1%0%0%0%%1080%%0%0%1#MobaFont%10%0%0%0%15%236,236,236%30,30,30%180,180,192%0%-1%0%%xterm%-1%-1%_Std_Colors_0_%80%24%0%1%-1%<none>%%0#0# #-1

3、利用shell脚本生成.mxtsessions文件

#!/usr/bin/env bash
set -e
PWD=$(cd `dirname $0`; pwd)
iphead="192.168"
ipbody="10"
user='root'
xterm='%%-1%-1%%%22%%0%0%0%%%-1%0%0%0%%1080%%0%0%1#Consolas%14%0%0%0%15%236,236,236%0,0,0%180,180,192%0%-1%0%%xterm%-1%-1%30,30,30%54,54,54%255,96,96%255,128,128%14,177,108%24,237,147%190,190,18%222,220,18%18,150,190%27,186,233%255,77,255%255,125,255%84,204,239%142,221,244%204,204,204%204,204,204%80%24%0%1%-1%<none>%%0#0# #-1'
function deploytxt (){
  seq 2 254 > ${PWD}/${iphead}.${ipbody}.0-remote.txt
  seq -w 2 254 > ${PWD}/${iphead}.${ipbody}.0-sessionName.txt
  sed -i "s/^/${iphead}.${ipbody}./g" ${PWD}/${iphead}.${ipbody}.0-remote.txt
  sed -i "s/^/${iphead}.${ipbody}./g" ${PWD}/${iphead}.${ipbody}.0-sessionName.txt
  paste ${PWD}/${iphead}.${ipbody}.0-sessionName.txt ${PWD}/${iphead}.${ipbody}.0-remote.txt > xterm.txt
  printf "\e[1;32m ${iphead}.${ipbody}.0.txt is created in ${PWD}/\e[0m\n"
}
function deploymxtsessions () {
cat > ${PWD}/${iphead}.${ipbody}.0.mxtsessions <<EOF
[Bookmarks]
SubRep=
ImgNum=42
EOF
echo "##sessionName## (##user##)=#109#0%##remote##%22%##user##${xterm}" > ${PWD}/xterm.example.txt
printf "\e[1;32m ${iphead}.${ipbody}.0.mxtsessions example is created in ${PWD}/\e[0m\n"
}
function createmxtsessions () {
while read xterm_line
do
    sessionName=$(echo $xterm_line | awk '{print $1}')
    remote=$(echo $xterm_line | awk '{print $2}')
    while read xterm_example_line
    do
      echo ${xterm_example_line} | sed -e "s/##sessionName##/${sessionName}/" -e "s/##remote##/${remote}/" >> ${PWD}/${iphead}.${ipbody}.0.mxtsessions
    done < ${PWD}/xterm.example.txt
done < ${PWD}/xterm.txt
sed -i "s/##user##/${user}/g" ${PWD}/${iphead}.${ipbody}.0.mxtsessions
rm -f ${PWD}/*.txt
printf "\e[1;32m ${iphead}.${ipbody}.0.mxtsessions is created in ${PWD}/\e[0m\n"
}
function main () {
deploytxt
deploymxtsessions
createmxtsessions
}
main
linux-oz6w:~ # sh mxtsessions.sh
 192.168.10.0.txt is created in /root/
 192.168.10.0.mxtsessions example is created in /root/
 192.168.10.0.mxtsessions is created in /root/
linux-oz6w:~ # ll | grep mxtsessions
-rw-r--r-- 1 root root 54172 Jan  8 06:27 192.168.10.0.mxtsessions
-rw-r--r-- 1 root root  1122 Jan  8 06:08 mxtsessions.sh
`执行脚本后,就会产生192.168.10.0.mxtsessions,从虚拟机导出到宿主机后,就可以导入到MobaXterm`
`脚本里面会删除掉脚本所在路径下所有的.txt文件,一定要注意脚本的执行路径,不要误删了自己的.txt文件`

4、导入到MobaXterm

  1. User sessions这里右键
  2. 先点New folder(这步是为了创建一个目录,把192.168.10.0这个网段的sessions都放到一起,强迫症而已,可以不操作)
  3. 192.168.10.0这里右键
  4. Import sessions into this folder,选择导出的192.168.10.0.mxtsessions,点即可(没有创建目录的话,点Import sessions from file

5、效果图

20210108120954347.png

太长了,就截取一部分

更新了一下脚本,做了优化,为了看起来更舒服一点,操作起来也能舒服很多


目录
相关文章
|
Shell 网络安全 数据库
iptables常用shell模板配置
#!/bin/bash #清楚防火墙原来规则 iptables -F #保存防火墙配置 service iptables save #停止防火墙 service iptables stop  ...
690 0
|
SQL 关系型数据库 Java
通过shell脚本快速定位active session问题
如果你得到反馈,数据库突然间性能下降了好多,希望你能够尽快的定位出问题来,有一些思路和方法可以参考。分别从数据库层面,系统层面来定位,但是个人感觉而言还是不够快和准。
968 0
|
监控 Oracle 关系型数据库
通过shell脚本监控oracle session
最近数据库碰到了连接紧张的问题,想通过一个脚本对数据库的session情况一目了然。 以下是自己写的脚本。实现的效果如下。 对session的总体情况,那些program主要在占用,每个用户所拥有的session(active,inactive,killed,sniped...)都能够一目了然。
836 0
|
Shell Linux
Shell session logging
pam_tty_audit.so How come no one ever told me about this!  A while ago we were tasked to find a way to log all commands executed by root.
610 0
|
2月前
|
Shell
一个用于添加/删除定时任务的shell脚本
一个用于添加/删除定时任务的shell脚本
116 1
|
1月前
|
Shell Linux 测试技术
6种方法打造出色的Shell脚本
6种方法打造出色的Shell脚本
70 2
6种方法打造出色的Shell脚本
|
1月前
|
XML JSON 监控
Shell脚本要点和难点以及具体应用和优缺点介绍
Shell脚本在系统管理和自动化任务中扮演着重要角色。尽管存在调试困难、可读性差等问题,但其简洁高效、易于学习和强大的功能使其在许多场景中不可或缺。通过掌握Shell脚本的基本语法、常用命令和函数,并了解其优缺点,开发者可以编写出高效的脚本来完成各种任务,提高工作效率。希望本文能为您在Shell脚本编写和应用中提供有价值的参考和指导。
65 1
|
1月前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
62 2
|
2月前
|
监控 网络协议 Shell
ip和ip网段攻击拦截系统-绿叶结界防火墙系统shell脚本
这是一个名为“小绿叶技术博客扫段攻击拦截系统”的Bash脚本,用于监控和拦截TCP攻击。通过抓取网络数据包监控可疑IP,并利用iptables和firewalld防火墙规则对这些IP进行拦截。同时,该系统能够查询数据库中的白名单,确保合法IP不受影响。此外,它还具备日志记录功能,以便于后续分析和审计。
63 6