本文介绍快速安装docker和compose的方法。与手动安装相比,一键安装省去了手工输入命令的繁琐步骤且不容易出错。由于国内网络环境原因,连接docker官方服务器异常的慢,这体现为在国内安装doc...
Shell分析Nginx日志 找出被阻止的IP
在日常运维中会发现流量突增现象或者服务器负载升高等现象,为找到原因,需要使用nginx limit模块 对访问的Ip进行限制,然后可以分析日志。
配置nginx限制IP访问,可配置多个zone。
...
awk的bug
在对日志信息进行实时监控分析时,需要对日志中纳秒级的时间进行计算,逻辑比较简单:找出开始时间、结束时间,遇到结束时间后输出时间间隔。
日志中的部分数据如下:
2016-01-30 19:37:30...
如何在交互式shell脚本中创建对话框
当你在终端环境下安装新的软件时,你可以经常看到信息对话框弹出,需要你的输入。对话框的类型有密码箱,检查表,菜单,等等。他们可以引导你以一种直观的方式输入必要的信息,使用这样的用户友好的对话框的好处是显...
shell获取脚本绝对路径
使用pwd 命令获取的是执行该命令的当前工作目录,当在其他目录调用一个脚本时会发现脚本中使用的pwd命令获取的结果不是脚本所在的绝对
一段代码获取
base_dir=$(cd &...
BASH的保护性编程技巧
这是我写BASH程序的招式。这里本没有什么新的内容,但是从我的经验来看,人们爱滥用BASH。他们忽略了计算机科学,而从他们的程序中创造的是“大泥球”(译注:指架构不清晰的软件系统)。
在此我...
shell匹配IP和shell正则匹配捕获引用
在服务器上加了一个服务检测机制,用到正则来匹配IP和捕获分组。shell和其他语言一样也可以使用正则分组捕获,不过不能使用 $1或\1这样的形式来捕获分组,可以通过数组${BASH_REMATCH}来...
bash3与bash4数组结构
bash3.x不支持关联数组(associative arrays)结构,只支持用数值作数组索引,如
declare -a Myarray
Myarray[1]=”www.ttlsa.com”
...
服务状态健康检测
在大量服务器集群的环境下,有时某台服务器服务异常退出,导致一些访问请求出错。需要对当前的运行的服务进行检测,如有退出就自动启动。然而cron任务最小频率在分钟级别,这显然有点长。下面这个脚本是在秒级对...
检测主机是否存活
#!/bin/bash
PREFIX=192.168.1
NODE=1
while [ "$NODE" -lt "255" ]; do
echo ...