9月 29

zabbix学习记录

概述 开源的,高度集成的分布式监控解决方案 通过C/S模式采集数据,B/S模式在web端展示和配置 Client:主机通过安装agent方式采集数据,网络设备通过SNMP方式采集数据 Server:收集agent和SNMP发送的数据并写入数据库(MySQL等),在通过php前端在web上展示 监控的意义 及时处理故障 为容量规划提供数据支 … Continue reading

8月 27

多文件URL统计

来源于一道面试题,有多个文件格式如下: 即第一列为url,第二列为count,要求统计多个文件中url的总的count及url出现的位置。 php实现 结果: 抽样验证: 可以看到结果正确 shell实现 结果: 和php的执行结果一致 awk 顺便说一下,这道题本来是考awk的,不会,于是用shell写,吭哧吭哧半天写出个不怎么完善的, … Continue reading

8月 22

正则匹配IP地址

描述 IP地址的长度为32位,分为4段,每段8位,用十进制数字表示,每段数字范围为0~255,段与段之间用英文句点 "." 隔开。 分析IP地址的组成特点:250-255、200-249、0-199。 分开考虑: 250-255:特点:三位数,百位是2,十位是5,个位是0~5,用正则表达式可以写成:25[0-5] 20 … Continue reading

8月 17

Linux系统监控工具

cpu信息 /proc/cpuinfo 查看cpu基本信息 uptime查看负载 load average这个输出值,它的3个值的大小一般不能大于系统CPU的个数 vmstat proc - r 运行和等待cpu时间片的进程数量,如果长时间大于0(另说大于系统cpu个数), 表示cpu不足 proc - b 等待资源(IO、memory) … Continue reading

8月 11

Nginx笔记(二)

location 语法 匹配顺序实例 正则表达式前后顺序影响匹配 以dokuwiki为例。dokuwiki需要配置某些目录禁止访问,如果以下面的顺序,则请求 conf data 等目录下的php文件仍然会返回200,原因是优先匹配了前面的正则。如果调换位置,则禁止目录下的php文件也会返回403。 另外一种方法是使用 ^~ 前缀严格限制目 … Continue reading

8月 08

Nginx笔记(一)

概念 高性能的HTTP和反向代理服务器软件 IMAP/POP3/SMTP代理服务器 发音: engine x 作者:俄罗斯程序设计师Igor Sysoev 许可类型:类BSD 跨平台:UNIX、GNU/Linux、BSD、Mac OS X、Solaris以及Microsoft Windows等操作系统中 特点:稳定、高效 特性 静态编译 … Continue reading

8月 04

找出子网中最长连续可用IP

昨天的一道面试题,要求找出一个网段中最长的连续可用IP,需要考虑关机的但已经静态分配了IP的机器。 当时用ping找出了能ping通的IP,但是没有想到怎么找出最长的连续段,并且不模拟多线程会比较慢。现在先不考虑关机的情况,用nmap做一遍。代码如下: 结果如下:

7月 30

MySQL Got error 134错误排查

现象 Discuz论坛一张表反复崩溃,导致帖子页无法打开,日志如下: 表forum_threadaddviews修复后,mysql日志仍然在刷ERROR错误: 追查 通过MySQL错误日志,可以看到Got error 134在13年8月和15年7月集中爆发,符合论坛近期的表现 Got error 134的表,几乎都是 forum_foru … Continue reading

7月 27

Shell随机数及字符串翻转

完美世界运维开发的一道笔试题,大概意思是0到9中随机取6个数,然后翻转输出。之前写过一个随机生成root密码的脚本,无奈时间长了忘记了。这里总结一下shell中随机数的生成方法。 时间戳 date +%s 获得时间戳,当前到:1970-01-01 00:00:00 相隔的秒数。如果用它做随机数,相同一秒的数据是一样的。在做循环处理,多线程 … Continue reading

7月 21

ansible学习记录

配置ssh密钥登录 expect脚本 shell调用expect脚本 host.list格式 虚拟机同步时间 暂时使用脚本,后期可用crontab实现 利用ansible更改salt master copy文件 用ansible copy设置软件源的脚本并执行 repo.sh用于设置软件源 ansible在Python3下的问题 开发机P … Continue reading