
Shell脚本
东孤熊猫
这个作者很懒,什么都没留下…
展开
-
Shell数组
目的:给定一些数据(dd.92 ff.278 cc.35),按照.后面第一个数字的大小排序 #!/bin/basha=(dd.92 ff.278 cc.35)let lenA=`echo ${#a[@]}`-1for i in ${#a[@]}do for j in `seq 0 $lenA` do let jj=$j+1 num1=$(ech...原创 2018-09-19 15:11:54 · 127 阅读 · 0 评论 -
Linux Shell环境下用jq命令处理json文件
有时候需要在Shell环境下处理json文件,这时使用jq命令非常方便。安装 CentOS下可以直接通过yum安装:yum install jq -y使用方法 假设有一个名为test.json的文件,内容如下:{ "Summary": { "Version": "1.0", "Comment": [ "List1...转载 2019-07-11 15:00:27 · 5756 阅读 · 0 评论 -
SHELL数组与字典定义
#!/bin/bashecho "shell定义字典"#必须先声明declare -A dicdic=([key1]="value1" [key2]="value2" [key3]="value3")#打印指定key的valueecho ${dic["key1"]}#打印所有key值echo ${!dic[*]}#打印所有valueecho ${dic[*]}#遍历ke...转载 2019-06-05 16:01:36 · 1278 阅读 · 0 评论 -
监控kafka队列状态
目的:zabbix监控kafka队列情况UserParameter=kafka.check[*],/home/admin/sbin/kafa_check.sh $1监控脚本:#!/bin/bash#/opt/kafka/bin/kafka-consumer-groups.sh --new-consumer --bootstrap-server b2b-z0-34:9092 --desc...原创 2019-05-09 15:11:55 · 2027 阅读 · 0 评论 -
工作中监控订单同步具体情况
目的:日常工作中为了知道个地市分公司订单同步情况,自己写了一个zabbix监控的脚本,详细订单同步数据详情通过sql语句在数据库中查询结果,然后直接调用#!/bin/bash##监控订单同步状态####从生产数据库中获取订单提交信息,插入到zabbix数据库/bin/bash /home/admin/sbin/wpf/fengongshi_order/insert_data.sh...原创 2019-05-08 16:13:29 · 684 阅读 · 0 评论 -
统计nginx日志
目的:统计某段时间nginx日志中的访问IP等相关信息#!/bin/bashfor i in `seq -w 0 59`do sum=0 echo -n "Time:2019-04-22 15:$i " echo -n "Ip:$(sed -n "/22\/Apr\/2019:15:$i:00/,/22\/Apr\/2019:15:$i:59/p" /opt/ng...原创 2019-05-08 16:05:31 · 496 阅读 · 0 评论 -
使用SED,GREP 批量修改文件内容
使用sed命令可以进行字符串的批量替换操作,以节省大量的时间及人力;使用的格式如下:sed -i "s/oldstring/newstring/g" `grep oldstring -rl path`其中,oldstring是待被替换的字符串,newstring是待替换oldstring的新字符串,grep操作主要是按照所给的路径查找oldstring,path是所替换文件的路径;...原创 2019-04-29 11:47:48 · 1219 阅读 · 0 评论 -
监控web状态
UserParameter=web.site.discovery,/home/admin/sbin/web_site_status.sh web_site_discoveryUserParameter=web.site.code[*],/home/admin/sbin/web_site_status.sh web_site_code $1 # cat /home/admin/sbin/w...原创 2019-02-12 14:41:23 · 1145 阅读 · 0 评论 -
tcp_status监控
UserParameter=tcp.status[*],/home/admin/sbin/tcp_status.sh $1 # cat /home/admin/sbin/tcp_status.sh#!/bin/bash#this script is used to get tcp and udp connetion status#tcp statusmetric=$1tmp_fi...原创 2019-02-12 14:37:19 · 815 阅读 · 0 评论 -
SHELL脚本跳过mysql同步错误
mysql主从复制,经常会遇到错误而导致slave端复制中断,这个时候一般就需要人工干预,跳过错误才能继续跳过错误有两种方式:1.跳过指定数量的事务:mysql>slave stop;mysql>SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1 #跳过一个事务mysql>slave start2.修改mysql的配置文件,通过...原创 2018-11-12 16:56:47 · 793 阅读 · 0 评论 -
随机杀死进程
#!/bin/bashwhile [[ true ]]; do echo "这是一个随机杀死服务进程的小程序!"read -p "enter your hostname:" hostnameecho $hostnamefor host in $hostnamedossh $host " #进程号pid=$(ps -ef | grep java | grep opt | awk ...原创 2018-11-15 16:45:36 · 214 阅读 · 0 评论 -
shell赋值数组
#!/bin/bashpid=`ps -ef | grep java | grep opt | awk -F" " '{ print $2}'`index=0for i in $pid; do server[index]=$i ((index++))doneecho $(server[@])echo $(server[5])原创 2018-11-15 16:44:08 · 2417 阅读 · 1 评论 -
日志割接脚本
#!/bin/bash##通过cron每天凌晨将app等日志进行切割set -xlist='www.yyjzt.com'for v in $listdolog_dir=/logs_center/$vdate=`date +%Y-%m-%d-%H`if [ ! -d $log_dir/logs ];thenmkdir -p $log_dir/logsficp /lo...原创 2018-09-30 10:39:09 · 773 阅读 · 0 评论 -
JVM检查脚本
#!/bin/bashset -eread -p "Please import project name:" namepid=`ps -ef|grep $name|grep -v grep|awk '{print $2}'`#########################################################inithisto() { jmap ...原创 2018-09-30 10:35:34 · 367 阅读 · 0 评论 -
发布脚本
#!/bin/bashset -xversion=$1roll=$2ProjectName=www.yyjzt.comuser=adminhostname='XXXX'###项目打包编译ProjectPath=/home/admin/.jenkins/workspace/$ProjectNameProjectPacker=$ProjectPath/jzt-b2b...原创 2018-09-30 10:32:53 · 617 阅读 · 0 评论 -
统计当前目录中,每个分目录和其里面的子目录总数
前景:有一个同事过来说想要统计一下,一个目录下面各个目录及其里面的目录总数。脚本如下:#!bin/bashfor i in `ls /home/admin/weipengfei/`;doif [ -d $i ];thennum=`ls /home/admin/weipengfei/$i -lR|grep "^d"|wc -l`echo "$i $num"fidone查看...原创 2019-08-19 14:18:06 · 666 阅读 · 0 评论