
shell
devilcry13
这个作者很懒,什么都没留下…
展开
-
Shell中的感叹号
简介shell 中!叫做事件提示符,英文是:Event Designators,可以方便的引用历史命令, 也就是history中记录的命令用法! 当后面跟随的字母不是“空格、换行、回车、=和(”时,做命令替换!n 会引用history中的第n个命令,比如输入!100,就是执行history列表中的第100条命令复制代码history | grep echo1013 2012-12...原创 2019-10-18 15:45:47 · 6016 阅读 · 0 评论 -
shell脚本根据日志关键字统计调用量
写了一个简单的shell脚本,根据日志中的关键字来查看限流情况,代码如下:rateLimitCount.sh#rateLimitCount.shDT=`date "+%Y-%m-%d %H:%M:%S"` #当前时间echo -n -e "$DT\t"grep --color "获取本地令牌桶成功" /export/Domains/PTTASK/server1/logs/catalina...原创 2019-07-08 17:53:30 · 1052 阅读 · 0 评论 -
webShell gotty安装
## Gotty 环境配置及安装# installGotty.shcmd_exist() { type $1 >/dev/null 2>&1 && echo 0 || echo 1}get_ip() { ifconfig -a| awk -F':' '{ if(NR==2){ print $2 } }'| cut -d' ' -f1}GOP...原创 2019-03-17 15:05:54 · 743 阅读 · 0 评论 -
可连接远程主机情况下添加私钥到远程主机
一句话添加私钥到远程主机,适用于可执行远程主机命令场景:例如,通过http post命令将命令post到远程主机并执行ssh_dir='/home/supdev/.ssh';auth_file=${ssh_dir}/authorized_keys;auth_key='ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArfaZwds4mExtyNGPNao/tzzXrbUGu...原创 2019-01-22 12:39:05 · 389 阅读 · 0 评论 -
shell常用正则表达式
一、校验数字的表达式1 数字:1$2 n位的数字:^\d{n}$3 至少n位的数字:^\d{n,}$4 m-n位的数字:^\d{m,n}$5 零和非零开头的数字:^(0|[1-9][0-9])$6 非零开头的最多带两位小数的数字:^([1-9][0-9])+(.[0-9]{1,2})?$7 带1-2位小数的正数或负数:^(-)?\d+(.\d{1,2})?KaTeX parse er...原创 2018-12-15 18:54:20 · 1448 阅读 · 0 评论 -
shell更新应用程序脚本
# 加载全局环境变量./lib/glob_env.sh# 加载应用环境变量./lib/app_env.sh# 脚本相关变量定义SERVERADDRESS="http://x.x.x.x:8018"APPNAME="tom_manager&am原创 2018-11-18 16:07:32 · 1227 阅读 · 0 评论 -
shell常用自定义函数
检查命令是否在服务器上存在cmd_exist() { type $1 >/dev/null 2>&原创 2018-11-15 19:27:06 · 261 阅读 · 0 评论 -
干掉mysql连接线程的两种方法
方法1,通过sql命令执行,如下://查看所有连接的线程IDshow processlist;//查找满足条件的连接,拼接kill语句select concat('kill ',id,';') from information_on_schema.processcesslist where Host like '10.13.42.106%';//干掉响应的连接kill 28001...原创 2018-10-16 11:29:24 · 1051 阅读 · 0 评论 -
sed命令修改tomcat spring配置文件并重启应用
sed命令修改tomcat配置文件,并重启应用生效channelFile=./spring-dubbo.xmlrestartApp=./restartServer.shusage(){ echo -e "Usage: `basename $0` [enable|disable]\nNotice: please execute with root or sudo privilege us...原创 2018-10-15 22:39:36 · 631 阅读 · 0 评论 -
Shell检查日志最后输出时间
Shell检查日志最后输出时间#日志时间logTime=`tail -1 /home/wy/www/refund.back.xxx.com/logs/catalina.out| awk -F' ' '{ print $1 " " substr($2,0,8)}'`#当前时间curTime=`date +"%Y-%m-%d %H:%M:%S"`echo -e "Log time: \t$...原创 2018-09-29 16:33:29 · 1648 阅读 · 0 评论 -
shell监测Http应用状态
shell监测Http应用状态获取IP地址:get_ip() { #ifconfig -a| awk -F':' '{ if(NR==2){ print $2 } }'| cut -d' ' -f1 IP=`ifconfig | grep -w inet | grep -v "127.0.0.1" | awk '{ print $2}'| tr -d &原创 2018-09-05 12:02:45 · 839 阅读 · 0 评论 -
shell创建web应用抓取日志及应用重启脚本
输入tomcat应用日志文件路径,脚本根据日志文件路径生成3个脚本:captureKeyWord.sh(过滤实时日志关键字),grepKeyWord.sh(抓取已生成日志中查询关键字),restartApp.sh(重启tomcat应用) ## 应用日志路径如:/home/wy/www/应用名/logs/catalina.out,或/export/Domains/应用名/server1/lo...原创 2018-08-23 16:21:52 · 404 阅读 · 0 评论 -
shell打包脚本
# 包文件名中的日期格式mfix=`date +%Y-%m-%d-%k-%M`# 判断旧包是否存在,若存在询问是否进行备份,否则删除if [ -e logger_app.zip ];thenwhile read -p "是否备份logger_app.zip?(Y/N) " ans; do if [[ $ans == "Y" || $ans == "N" ]];then break;f...原创 2018-06-24 16:56:06 · 740 阅读 · 0 评论 -
shell脚本超时watchdog
脚本中的命令正常结束,干掉watchdog,否则watchdog干掉超时进程。#!/bin/shtimeout(){ waitfor=5 command=$* $command & commandpid=$! (sleep $waitfor;kill -9 $commandpid原创 2017-03-24 16:40:22 · 799 阅读 · 0 评论 -
awk读取非标题行非空行指定字段
经常遇到执行一些命令的输出会把标题也带上,有时候只想要输出内容中记录的某些字段,可以使用awk命令把指定的行过滤掉,输出需要行的某些字段。# nova host-list+-------------+-------------+----------+| host_name | service | zone |+-------------+------------原创 2017-03-22 16:25:38 · 2988 阅读 · 0 评论 -
sed从一串字符串中输出匹配字符串
比如执行如下命令后会有一长串字符串,想从中提取IP地址# neutron port-list| grep oam:vip| d277b883-3cb7-4844-9143-6705e1c5e4f5 | VSTACK-network:oam:vip:0-0-1:0-0-9 | fa:16:3e:54:62:29 | {"subnet_id": "58d1e6ce-ff86-4eeb-b2...原创 2017-03-22 16:27:45 · 6253 阅读 · 2 评论 -
Shell脚本给某路径下的文件可读权限
PS4='+{$LINENO:${FUNCTIONNAME[0]}}'## If need debug, using export DEBUG=value in parrent shell environment#[ $DEBUG ] && set -xinfo() { echo "[INFO]: $@"return 0}e原创 2017-03-03 17:21:40 · 713 阅读 · 0 评论