
shell脚本
文章平均质量分 57
记录常用shell脚本
戴国进
往后余生,专注人工智能领域!!!
展开
-
Linux 日志监控与报警系统实操
根据日志内容分类报警,如 "ERROR" 触发高优先级报警,"WARNING" 触发普通报警。:实时监控一个日志文件并提取含有 "ERROR" 的行。编写脚本实现对超过指定大小的日志文件进行自动归档和压缩。了解日志文件的滚动机制(如日志按大小或时间切割)。实现实时日志监控,统计日志中每分钟的访问次数。:检测日志文件中的错误信息,并在终端显示报警。,提取含有 "Failed" 的行并统计次数。实现一个脚本监控指定文件夹的文件增长情况。:同时监控多个日志文件,并合并结果。:实时查看文件末尾的变化。原创 2024-12-25 20:55:51 · 759 阅读 · 0 评论 -
go 服务挂掉自动重启脚本
代码】go服务挂掉自动重启脚本。原创 2022-07-20 11:20:44 · 872 阅读 · 0 评论 -
43 个 Bash 编程易错总结
Bash 写循环代码的时候,确实比较容易犯下面的错误:这里主要两个问题:使用命令展开时不带引号,其执行结果会使用 IFS 作为分隔符,拆分成参数传递给 for 循环处理;不应该让脚本去解析 ls 命令的结果[2];我们不能避免某些文件名中包含空格,Shell 会对 展开的结果会被做单词拆分 (WordSplitting[3]) 的处理。假设有一个文件,名字为 01 - Don't Eat the Yellow Snow.mp3,for 循环处理的时候,会依次遍历文件名中的每个单词:01, -, Do原创 2022-06-21 21:31:01 · 413 阅读 · 0 评论 -
Shell分析日志文件命令大全
1、查看有多少个IP访问:awk'{print$1}'log_file|sort|uniq|wc -l2、查看某一个页面被访问的次数:grep"/index.php"log_file | wc -l3、查看每一个IP访问了多少个页面:awk'{++S[$1]} END {for (a in S) print a,S[a]}'log_file >log.txtsort-n -t' '-k2log.txt # 配合sort进一步排序4、将每个I...原创 2022-04-27 21:49:48 · 1382 阅读 · 0 评论 -
Linux 网站心跳检测 + 通知 shell脚本
#!/bin/bashLIST=("http://xxxx.com")NAME=("评价系统getwindowList接口")for ((i=0;i<${#LIST[@]};i++))doHTTP_CODE=`curl -o /dev/null -s -w "%{http_code}" "${LIST[$i]}"`if [ $HTTP_CODE != '200' ];thenTIME=$(date "+%Y-%m-%d %H:%M:%S")#发送微信公众号curl 'http://.原创 2022-04-25 12:17:00 · 720 阅读 · 0 评论 -
Shell 8种字符串截取方法
Linux 的字符串截取很有用。有八种方法。假设有变量:var=http://www.aaa.com/123.htm1. # 号截取,删除左边字符,保留右边字符。代码如下:echo ${var#*//}其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符即删除 http://结果是 :www.aaa.com/123.htm2. ## 号截取,删除左边字符,保留右边字符。代码如下:echo ${var##*/}##*/.原创 2022-04-15 15:53:18 · 41004 阅读 · 0 评论 -
Linux 系统日常巡检脚本
参考:http://www.howzhi.com/group/php/discuss/3456 关于策略模式更多详细内容【策略模式】定义一系列的算法,把每一个算法封装起来, 并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。策略模式把对象本身和运算规则区分开来,其功能非常强大,因为这个设计模式本身的核心思想就是面向对象编程的多形性的思想。也就是我们打算出行旅游,我们可以有几个策略可以考虑,可以骑自行车,汽车,做火车,飞机。【策略模式中主要角色】环境类(Context..原创 2021-01-07 17:54:36 · 3905 阅读 · 0 评论 -
shell 脚本进阶,经典用法及其案例
在传统的web开发模式中,我们知道,每一次php请求,都要经过php文件从磁盘上读取、初始化、词法解析、语法解析、编译等过程,而且还要与nginx或者apache通信,如果再涉及数据库的交互,还要再算上数据库的握手、验权、关闭等操作,可见一次请求的背后其实是有相当繁琐的过程,无疑,这个过程也就带来了相当多的开销!当然,所有的这些资源和内存,在一次请求结束之前,都会得到释放。但是,swoole是常驻内存运行的。这有几点不同,我们分别了解下。在运行server之后所加载的任何资源,都会一直持续在内存中存原创 2021-08-27 16:46:02 · 700 阅读 · 0 评论 -
shell 中 ()、(())、[]、[[]]、{} 的作用
一、小括号,圆括号()1、单小括号 ()①命令组。括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用。括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格。②命令替换。等同于cmd,shell扫描一遍命令行,发现了(cmd)结构,便将(cmd)中的cmd执行一次,得到其标准输出,再将此输出放到原来命令。有些shell不支持,如tcsh。③用于初始化数组。如:array=(a b c d)2、双小括号 (( ))①整原创 2021-08-27 09:24:36 · 5600 阅读 · 0 评论 -
shell 脚本中常见的 if [ $? -ne 0 ]; 意思
$?是shell变量,表示"最后一次执行命令"的退出状态.0为成功,非0为失败.扩展阅读:$# 表示提供到shell脚本或者函数的参数总数;$1 表示第一个参数。另外:整数比较-eq 等于,如:if ["$a" -eq "$b" ]-ne 不等于,如:if ["$a" -ne "$b" ]-gt 大于,如:if ["$a" -gt "$b" ]-ge 大于等于,如:if ["$a" -ge "$b" ]-lt 小于,如:if ["$a" -...原创 2021-05-07 15:14:30 · 14204 阅读 · 0 评论 -
shell 中 set -x 和 set +x 语句的作用
用于脚本调试。set是把它下面的命令打印到屏幕set -x 是开启 set +x是关闭 set -o是查看 (xtrace),set去追中一段代码的显示情况。执行set -x后,对整个脚本有效。[root@mybox bin]# ls -l /bin/bash+ ls --color=tty -l /bin/bash-rwxr-xr-x 1 root root 722684 Jul 12 2006 /bin/bash针对一部分script,可以选择 set -x 和 set +x..原创 2021-03-02 17:47:21 · 6188 阅读 · 0 评论 -
shell不能执行su 后的脚本
问题:在shell脚本中执行“su – 用户名”后,脚本终止执行,并且切换到su 中指定用户名的交互式界面现象:我在root中执行一个脚本,但是其中的一些命令或脚本必须用oracle用户来执行。,[root@HZ-ITF-01 cron.d]# vi /data/itf/app/oracle/sync/test.sh #!/bin/bashset -xsu - oraclesqlplus /nolog <<EOFconn hxy/hxycreate table te..转载 2021-03-02 17:24:32 · 5395 阅读 · 0 评论 -
Linux 运维常用 shell 脚本实例
1、用shell脚本批量建立Linux用户实现要求:创建用户student1到student50,指定组为student组!而且每个用户需要设定一个不同的密码!脚本实现如下:#!/bin/bashfor i in `seq 1 50`do useradd -G student student$i ; echo student$i | passwd student$i --stdin;done【说明:Linux下 Passwd有参数 --stdin This原创 2021-02-26 15:17:04 · 3762 阅读 · 0 评论 -
linux下在root用户登陆状态下,以指定用户运行shell脚本
当前ssh登陆linux的是root用户但是应用程序必须以webmaster用户运行,否则报错那么实现方式如下:#!/bin/shuser="webmaster"if [ `whoami` != "${user}" ]; then exec su - "${user}" -c "sh /mnt/checkP1.sh"fiecho "Agoly"idwhoamiwhile truedo pnmon=`ps aux | grep nmo...原创 2021-02-26 14:58:22 · 3662 阅读 · 0 评论