#!/bin/bash
#@date:2019-11-28
#@auth:tigergao
#@update_all function depprot()
{ curdir=`dirname $0`
tar xvfz $curdir/update.tgz -C /
echo "Finger Print engine update starting....." echo "Installing depport package" if [ -d /rayos/app/tools/depprot ]; then
if [ -d /rayos/app/tools/depprot.bak ]; then
rm -rf /rayos/app/tools/depprot.bak
fi
mv /rayos/app/tools/depprot /rayos/app/tools/depprot.bak
fi tar -xzvf /depprot.tgz -C /rayos/app/tools/
[ -f /depprot.tgz ] && rm -rf /depprot.tgz echo "Add executable rights for /etc/cron.1min" echo "Finger Print engine update completed" } function probe()
{ curdir=`dirname $0`
tar xvfz $curdir/update.tgz -C /
echo "Finger Print engine update starting....." echo "Remove executable rights for /etc/cron.1min"
chmod -x /etc/cron.1min/* echo "Stop deep scan worker process"
/rayos/app/daemon/gmworker/stop.sh echo "Installing probe package" if [ -d /rayos/app/daemon/gmworker/tools/probe ]; then
if [ -d /rayos/app/daemon/gmworker/tools/probe.bak ]; then
rm -rf /rayos/app/daemon/gmworker/tools/probe.bak
fi
mv /rayos/app/daemon/gmworker/tools/probe /rayos/app/daemon/gmworker/tools/probe.bak
fi tar -xzvf /probe.tgz -C /rayos/app/daemon/gmworker/tools/
[ -f /probe.tgz ] && rm -rf /probe.tgz [ -f /rayos/app/daemon/gmworker/tools/probe/stop.sh ] && /rayos/app/daemon/gmworker/tools/probe/stop.sh -f echo "Add executable rights for /etc/cron.1min"
chmod +x /etc/cron.1min/* echo "Finger Print engine update completed" } function fingerdb()
{ curdir=`dirname $0`
tar xvfz $curdir/update.tgz -C /
echo "Finger Print engine update starting....." echo "Remove executable rights for /etc/cron.1min"
chmod -x /etc/cron.1min/* echo "Stop deep scan worker process"
/rayos/app/daemon/gmworker/stop.sh echo "Installing probe package" rm /rayos/app/daemon/gmworker/tools/probe/pkl/* -f if [ -f /rayos/app/daemon/gmworker/tools/probe/db/finger_db.db ]; then
if [ -f /rayos/app/daemon/gmworker/tools/probe/db/finger_db.db.bak ]; then
rm -rf /rayos/app/daemon/gmworker/tools/probe/db/finger_db.db.bak
fi
mv /rayos/app/daemon/gmworker/tools/probe/db/finger_db.db /rayos/app/daemon/gmworker/tools/probe/db/finger_db.db.bak
echo "mv /rayos/app/daemon/gmworker/tools/probe/db/finger_db.db /rayos/app/daemon/gmworker/tools/probe/db/finger_db.db.bak"
fi mv /finger_db.db /rayos/app/daemon/gmworker/tools/probe/db/finger_db.db
[ -f /probe.tgz ] && rm -rf /probe.tgz [ -f /rayos/app/daemon/gmworker/tools/probe/stop.sh ] && /rayos/app/daemon/gmworker/tools/probe/stop.sh -f echo "Add executable rights for /etc/cron.1min"
chmod +x /etc/cron.1min/* echo "Finger Print engine update completed" } depprot;
#probe;
#fingerdb

  

#!/bin/bash
#date:2019-11-21
#menu.sh
input=$1
case $input in
ipscan)
if [ -d /rayos/app/pktgen/bin ];then
/rayos/app/pktgen/bin/rgcmd -v
else
echo "目录不存在"
fi
;;
deepscan)
if [ -d /rayos/app/daemon/gmworker/tools/probe ];then
cat /rayos/app/daemon/gmworker/tools/probe/version | awk -F '=' '{print $2}' | xargs
else
echo "目录不存在"
fi
;;
pocscan)
if [ -d /rayos/app/daemon/gmworker/tools/hotvuln ];then
cat /rayos/app/daemon/gmworker/tools/hotvuln/version | awk -F '=' '{print $2}' | xargs
else
echo "目录不存在"
fi
;;
gmworker)
if [ -d /rayos/app/daemon/gmworker/ ];then
cat /rayos/app/daemon/gmworker/version | awk -F '=' '{print $2}' | xargs
else
echo "目录不存在"
fi
;;
help)
echo "---------------------------------------------------------"
echo "please see diff number with chariness and responsibility:"
echo "ipscan:存活引擎"
echo "deepscan:指纹引擎"
echo "pocscan:poc引擎"
echo "gmworker:gmworker"
echo "---------------------------------------------------------"
exit;;
esac

  

tigergao--shell的更多相关文章

  1. Shell替换

    如果表达式中包含特殊字符,Shell 将会进行替换.例如,在双引号中使用变量就是一种替换,转义字符也是一种替换. #!/bin/bash a= echo -e "Value of a is ...

  2. Shell特殊变量

    $ 表示当前Shell进程的ID,即pid $echo $$ 运行结果 特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数.n 是一个数字,表示第几个参数.例如,第一个参数 ...

  3. shell变量

    定义变量 定义变量时,变量名不加美元符号($),如: variableName="value" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样.同时,变量名 ...

  4. 第一个shell脚本

    打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好. #!/bin/bash echo "Hello World !" &quo ...

  5. shell简介

    Shell作为命令语言,它交互式地解释和执行用户输入的命令:作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支. shell使用的熟练程度反映了用户对U ...

  6. Shell碎碎念

    1. 字符串如何大小写转换 str="This is a Bash Shell script." 1> tr方式 newstr=`tr '[A-Z]' '[a-z]' < ...

  7. MongoDB学习笔记二—Shell操作

    数据类型 MongoDB在保留JSON基本键/值对特性的基础上,添加了其他一些数据类型. null null用于表示空值或者不存在的字段:{“x”:null} 布尔型 布尔类型有两个值true和fal ...

  8. 使用C#给Linux写Shell脚本

    在这个逼格决定人格,鄙视链盛行的年头,尤其是咱们IT界,请问您今天鄙视与被鄙视的次数分别是多少?如果手中没有一点压箱的本事,那就只有看的份了.今天我们也要提升下自己的格调,学习些脑洞大开的东西,学完之 ...

  9. Linux环境下shell和vim中乱码原因及消除办法

    shell和vim中乱码原因及消除办法 作者:Jack47 在Linux下开发,经常遇到乱码问题:shell或者vim中显示不了中文,或者能够显示,但不能输入中文.每次都是上网去搜,或者同事告诉我一些 ...

  10. 【说解】在shell中通过mkfifo创建命名管道来控制多个进程并发执行

    背景: 工作中有两个异地机房需要传数据,数据全名很规范,在某个目录下命名为统一的前缀加上编号.如/path/from/file.{1..100}.而机房间的专线对单个scp进程的传输速度是有限制的,比 ...

随机推荐

  1. 【九度OJ】题目1201:二叉排序树 解题报告

    [九度OJ]题目1201:二叉排序树 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1201 题目描述: 输入一系列整数,建立二叉排序 ...

  2. 【LeetCode】85. Maximal Rectangle 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址: https://leetcode.com/problems/maximal- ...

  3. LeetCode1237找出给定方程的正整数解

    题目 给定方程f和值z,找出给定方程f(x,y)=z的正整数解x,y.f(x,y)关于x.y都是严格单调的. 题目保证 f(x, y) == z 的解处于 1 <= x, y <= 100 ...

  4. 【LeetCode】712. Minimum ASCII Delete Sum for Two Strings 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...

  5. anaconda 命令小览

    一 查看conda环境中安装了什么库: conda list 参考文献: 怎么查看anaconda安装了什么库?-Python学习网

  6. Codeforces 849A:Odds and Ends(思维)

    A. Odds and Ends Where do odds begin, and where do they end? Where does hope emerge, and will they e ...

  7. 基于Spring MVC + Spring + MyBatis的【网上购物系统】

    资源下载:https://download.csdn.net/download/weixin_44893902/45601185 练习点设计:修改.删除 一.语言和环境 实现语言:JAVA语言. 环境 ...

  8. .NET6 微服务——CI/CD(1):搭建Jenkins并实现自动构建

    CI/CD 它的意思是 持续集成/持续部署,这也不是新概念.那些八股文就不写了,说话的方式简单点:如果成功搭建CI/CD环境,当你需要迭代线上程序时,只需通过git提交代码就可以,其他什么都不用做.是 ...

  9. Android 悬浮窗

    悬浮窗是一种比较常见的需求.例如把视频通话界面缩小成一个悬浮窗,然后用户可以在其他界面上处理事情. 本文给出一个简单的悬浮窗实现.可缩小activity和还原大小.可悬浮在其他activity上.使用 ...

  10. 使用VUE组件创建SpreadJS自定义单元格(一)

    作为近五年都冲在热门框架排行榜首的Vue,大家一定会学到的一部分就是组件的使用.前端开发的模块化,可以让代码逻辑更加简单清晰,项目的扩展性大大加强.对于Vue而言,模块化的体现集中在组件之上,以组件为 ...