shell脚本
一颗向上的草莓
后台开发者,前端爱好者,个人博客:http://catchu.github.io
展开
-
crontab的定时表达式
如下所示,一般crontab文件里面的定时任务格式如下所示:59 23 * * * /home/oracle/scripts/alert_log_archive.sh >/dev/null 2>&1crontab 文件中每个条目中各个域的意义和格式:第一列 分钟: 1——59第二列 小时: 1——23(0表示子夜)第三列 日 : 1——31第四列 月 : 1——12第五列 星期: 星期0——6(0表示星期天,1表示星期一、以此类推)第六列 要运行的命令原创 2020-05-27 15:17:01 · 1022 阅读 · 0 评论 -
shell脚本执行mysql语句,将执行结果发送到钉钉报警群
shell中执行mysql语句,将执行结果发送到报警群#!/bin/bashredLine="0"echo " 警戒线: $redLine"libraryHost="你的数据库地址"libraryDB="mysql -u你的用户名 -p你的密码 -h${libraryHost} --default-character-set=utf8 -A -N"crmHost="你的数据库地址"crmDB="mysql -uwww -p你的密码 -h${crmHost} --default-chara原创 2020-05-26 17:10:02 · 498 阅读 · 1 评论 -
编写Shell脚本执行SQL语句,并将结果发送到钉钉群
首先编写mysql脚本,然后在crontab中编写定时任务触发这个脚本,向钉钉群里发消息#!/bin/bashsevenDate=$(date -d -7day '+%Y-%m-%d %H:%M:%S')libraryHost="你的mysql域名"libraryDB="mysql -u用户名 -p密码 -h${libraryHost} --default-character-set=utf8 -A -N"sql1="SELECT t0.lesson_id,'%' separ1,t3.nam原创 2020-05-26 16:39:16 · 924 阅读 · 0 评论 -
shell统计接口响应时长
1.将接口响应时长输出到文件读取接口文件,统计每个接口响应耗时,计算平均值,输出到文件。#!/bin/bashpaths=`cat path_file`echo "=====接口响应耗时统计=====" > path_time.logfor path in $paths;doecho -n $path >> path_time.logecho -n " " >> path_time.loggrep $path /home/www/log/java-ap原创 2020-05-09 18:45:11 · 1072 阅读 · 0 评论 -
Shell中取今天、昨天、前天的时间
1. 取今天时间代码如下:$date -d "now" +%Y-%m-%d2. 取昨天时间代码如下:$date -d "yesterday" +%Y-%m-%d$date -d "1 days ago" +%Y-%m-%d## -d, --date=STRING display time described by STRING, not `n...原创 2019-07-29 17:46:22 · 438 阅读 · 0 评论 -
shell定时备份文件
1.编写备份文件创建文件logs_backup.sh,内容如下:#!/bin/bashexport PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-...原创 2019-07-29 17:57:59 · 1254 阅读 · 0 评论 -
使用shell定时统计sql数据
现在我想每天统计公司昨日的营业额,可以写shell脚本,在里面写数据统计的脚本,每天定时统计即可。代码如下:#!/bin/bashif [ ! $1 ];then port=3409else port=$1fiday=$(date -d "yesterday" +%Y-%m-%d)start_time=$day" 00:00:00"end_time...原创 2019-08-01 21:01:05 · 332 阅读 · 0 评论 -
shell脚本ssh到远程服务器并执行命令
shell远程执行: 经常需要远程到其他节点上执行一些shell命令,如果分别ssh到每台主机上再去执行很麻烦,因此能有个集中管理的方式就好了。一下介绍两种shell命令远程执行的方法。前提条件: 配置ssh免密码登陆对于简单的命令:如果是简单执行几个命令,则:ssh user@remoteNode "cd /home ; ls"基本能完成常用的对于远程节点的管理了,...原创 2019-08-02 10:32:31 · 9115 阅读 · 0 评论 -
使用shell批量删除redis中数据
先准备好一些不活跃用户的userId数据,作为一个文件,读入这个文件#!/bin/bashusers=`cat not_active_user`for user in $users; do redis-cli -h redis服务ip -a redis服务密码 keys messages:box:$user-0 |xargs redis-cli -h redis服务ip -a r...原创 2019-08-02 11:23:02 · 1593 阅读 · 0 评论 -
shell中退格键失效的解决办法
我们写shell是经常会让用户从控制台输入数据,然后通过read读取输入的数据,但是想删除时,按了退格键backspace,就会出现^H这样的,好不容易输入的有无效了,可以在read语句之前输入一行:stty erase '^H'如:#!/bin/bashecho -n "请输入:"stty erase '^H'read listif echo $list | grep "pet...原创 2019-08-06 17:55:34 · 2162 阅读 · 0 评论 -
`basename $0` 与$0区别
1.shell获取当前文件名称`basename $0`值显示当前脚本或命令的名字$0显示会包括当前脚本或命令的路径`basename $1`和$1相同2.shell获取当前所在文件夹$(cd `dirname $0`;pwd)其中:dirname $0,取得当前执行的脚本文件的父目录cd `dirname $0`,进入这个目录(切换当前工作目录)pwd,显...原创 2019-08-07 10:24:50 · 2741 阅读 · 0 评论 -
linux三剑客之sed命令精讲
1,前言我们都知道,在Linux中一切皆文件,比如配置文件,日志文件,启动文件等等。如果我们相对这些文件进行一些编辑查询等操作时,我们可能会想到一些vi,vim,cat,more等命令。但是这些命令效率不高,这就好比一块空地准备搭建房子,请了10个师傅拿着铁锹挖地基,花了一个月的时间才挖完,而另外一块空地则请了个挖土机,三下五除二就搞定了,这就是效率。而在linux中的“挖土机”有三种型号:...转载 2019-08-07 19:01:21 · 1964 阅读 · 0 评论 -
shell中变量自增的实现方法
shell中写循环时,常常要用到变量的自增,现在总结一下整型变量自增的方法。目前常用的有五种方法:1. i=`expr $i + 1`;2. let i+=1;3. ((i++));4. i=$[$i+1];5. i=$(( $i + 1 ))可以实践一下,简单的实例如下:#!/bin/bashi=0;while [ $i -lt 4 ];do echo $i;...原创 2019-07-06 15:19:21 · 4113 阅读 · 0 评论 -
文本处理三剑客简介(grep、awk、sed)
本章内容:命令 描述 awk 支持所有的正则表达式 sed 默认不支持扩展表达式,加-r 选项开启 ERE,如果不加-r 使用花括号要加转义符\{\} grep 默认不支持扩展表达式,加-E 选项开启 ERE,如果不加-E 使用花括号要加转义符\{\} egrep 支持基础和扩展表达式 awk推荐文章:https://www.cnblogs...转载 2019-07-04 21:28:11 · 293 阅读 · 0 评论 -
shell第四章(shell函数、shell正则表达式)
本章内容shell函数 shell正则表达式1、shell函数linux shell 可以用户定义函数,然后在shell脚本中可以随便调用.格式:funname () { CMD #函数体}例子:#!/bin/bash fun () {echo "hello world"}fun...╭─root@localhost.local...转载 2019-06-30 22:14:46 · 88 阅读 · 0 评论 -
怎么在java代码中调用shell脚本
可以在java代码中调用shell脚本的,下面是一个简单示例1.java代码示例如下:/** * java程序调用shell脚本 */public class JavaExecuteShell { public static void main(String[] args) { try { String cmd = "sh /usr/...原创 2019-06-11 22:35:04 · 3928 阅读 · 0 评论 -
shell脚本例子集锦
练习一:写一个脚本1.设定变量FILE的值为/etc/passwd2.依次向/etc/passwd中的每个用户问好,并且说出对方的ID是什么形如:(提示:LINE=`wc -l /etc/passwd | cut -d" " -f1`)Hello,root,your UID is 0.3.统计一个有多少个用户...转载 2019-06-24 14:02:25 · 476 阅读 · 0 评论 -
简单的shell脚本
自己写了一下小的shell实例,虽然很小,但所有的大的程序都是由小的模块堆积起来的,程序员一定要懂得一种脚本的书写,而我,只会在linux下工作,所以就只能写linux的shell脚本了,呵呵,本文会陆续更新,给自己加油!1.模拟linnux登录shell#/bin/bashecho -n "login:"read nameecho -n "password:"read pass...转载 2019-06-24 14:06:10 · 378 阅读 · 0 评论 -
shell的条件表达式test、[]、[[]]
一、条件测试测试语句在bash的各种流程控制结构中通常要进行各种测试,然后根据测试结果执行不同的操作,有时也会通过与if等条件语句相结合,让我们可以方便的完成判断。格式1:test <测试表达式>格式2:[<条件表达式>]格式3:[[<条件表达式>]]说明:格式1和格式2是等价的。格式3为扩展的test命令,有网友推荐用格式3。提示1...原创 2019-06-30 17:11:37 · 496 阅读 · 0 评论 -
shell变量、shell条件表达式与运算符
shell变量1、shell变量简介变量是任何一种编程语言都必不可少的组成部分,变量用来存放各种数据。脚本语言在定义变量时通常不需要指明类型,直接赋值就可以,Shell 变量也遵循这个规则。在 Bash shell 中,每一个变量的值都是字符串,无论你给变量赋值时有没有使用引号,值都会以字符串的形式存储;这意味着,Bash shell 在默认情况下不会区分变量类型,即使你将整数和...转载 2019-06-30 19:54:45 · 488 阅读 · 0 评论 -
Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。 $# 传递给脚本或函数的参数个数。 $* 传递给脚本或函数的所有参数。 $@ 传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $* 稍有不同,下面将会讲到。 $? 上...转载 2019-06-30 22:02:06 · 95 阅读 · 0 评论 -
Linux Shell 之引号(单引号;双引号;反引号)
在shell中引号分为三种:单引号,双引号和反引号。* 单引号 ‘由单引号括起来的字符都作为普通字符出现。特殊字符用单引号括起来以后,也会失去原有意义,而只作为普通字符解释。例如:$ string=’$PATH’$ echo $string$PATH可见$保持了其本身的含义,作为普通字符出现。howard@0[script]$ grep Susan phonebook ...原创 2019-06-30 22:03:45 · 785 阅读 · 0 评论 -
Shell逐行读取文件的3种方法
方法1:while循环中执行效率最高,最常用的方法。while read linedoecho $linedone < filename注释:这种方式在结束的时候需要执行文件,就好像是执行完的时候再把文件读进去一样。方法2 : 管道法: cat $FILENAME | while read LINEcat filename | while read line...原创 2019-06-30 22:06:02 · 917 阅读 · 0 评论 -
linux常用命令(shell脚本常用命令)
本章命令:1 2 3 4 5 6 grep cut sort uniq seq tr 1、grep作用:过滤文本内容选项 描述 -E :--extended--regexp 模式是扩展正则表达式(ERE) -i :--ignore--case 忽略大小写 -n: --line--num...转载 2019-06-30 22:10:18 · 198 阅读 · 0 评论 -
shell第一章(shell简介)
1、shell 简介Shell 是一个 C 语言编写的脚本语言,它是用户与 Linux 的桥梁,用户输入命令交给 Shell 处理, Shell 将相应的操作传递给内核(Kernel),内核把处理的结果输出给用户。下面是流程示意图:2、查看shellShell 是一个程序,一般都是放在/bin或者/user/bin目录下,当前 Linux 系统可用的 Shell 都记录在/e...转载 2019-06-30 22:12:30 · 203 阅读 · 0 评论 -
shell第三章(shell流程控制)
本章内容:if语句 for语句 while语句 break、continue1、if语句if语句用exit结束1.1单分支if 条件表达式 ;then 命令fi实例:#!/bin/bashread -p "请输入数字" numif [ $num -lt 10 ] ;then echo "${num}是数字两位数"fi.....转载 2019-06-30 22:13:42 · 157 阅读 · 0 评论 -
linux通过脚本来启动zookeeper集群
1.创建一个名为zkStart.sh文件2.文件内容是:#! /bin/bashecho "start zkServer ..."for i in 1 2 3dossh mini$i "source /etc/profile;/usr/local/app/zookeeper/bin/zkServer.sh start"done这里就可以启动mini1,mini2,min...原创 2019-06-09 22:15:26 · 451 阅读 · 0 评论