企业需求一:统计访问最多的IP
企业场景
公司网站访问速度变慢。
领导要求:
"找出今天访问网站次数最多的IP,看是不是有人恶意访问。"
日志文件: access.log
运维要做的企业要求
统计:
访问次数 IP
按照次数从高到低排序。
注意:日志文件已经有
企业需求二:查找登录失败用户
企业场景
凌晨服务器疑似被暴力破解。
安全部门要求:查看所有登录失败记录。
日志:secure
1)要求找出"Failed"相关日志。
2)进一步要求 只统计失败次数
企业需求三:查找成功登录用户
企业场景
老板:今天有哪些员工成功登录服务器?
查看日志 Accepted password
1)要求 滤Accepted
2)升级 提取用户名
举列
Accepted password for root
Accepted password for tom
Accepted password for admin
企业需求四:整理员工名单
企业场景
内容HR导出员工名单。然后内容十分混乱。
Tom
Alice
Jack
Bob::
Alice
Tom
1)老板要求 按字母排序。
2)要求2 倒序
企业需求五:去掉重复员工
企业场景
HR合并多个Excel。出现大量重复姓名。
1)要求 删除重复。
2)要求统计人数
企业需求六:提取用户UID
企业场景
领导:把所有用户名列出来。(文件/etc/passwd)
例如
root:x:0:0:root:/root:/bin/bash
1)要求输出root
2)进一步输出用户名 UID
企业需求七:整理服务器IP
服务器清单:
web01 192.168.10.10
web02 192.168.10.11
db01 192.168.10.20
1)老板要求只保留IP。
企业需求八:批量替换配置
企业场景
开发提供Windows配置文件。里面全部都是 ^M Linux无法识别。
1)要求删除回车。
printf "server=192.168.10.10\r
port=3306\r
user=root\r
password=123456\r
name=ZHANGSAN\r
name=MIAOZIYI\r
name=FANGMENGHAO\r
" > windows.txt制作文件
windows1.txt
server=192.168.10.10^M$
port=3306^M$
user=ROOT^M$
password=123456^M$
name=ZHANGSAN^M$
name=MIAOZIYI^M$
name=FANGMENGHAO^M$
2)另一种全部改成小写
linux.txt
ROOT
ZHANGSAN
FANGMENGHAO
MIAOZIYI
1.
2.
企业需求九:密码规范检查(grep 正则)
员工密码文件
123456
admin123
Admin@123
1)要求检查必须包含数字。
2)检查包含大小写
3)包含特殊字符
企业需求十:查找配置文件中的IP
配置
server=192.168.10.20
server=10.1.1.2
1)要求找出所有IP。
企业需求十一:查找邮箱
员工信息
tom@test.com
abc@qq.com
hello@gmail.com
1)要求找出邮箱。
企业需求十二:过滤注释
配置文件# nginx 或者apache
listen 80;
# php
1)要求去掉#以及空行。
企业需求十三:统计访问最多的URL
日志:
192.168.1.1 GET /index.html
192.168.1.2 GET /login
192.168.1.3 GET /login
192.168.1.4 GET /login
1)要求统计访问最多页面。
企业需求十四:筛选错误日志
日志
INFO
WARN
ERROR
INFO
ERROR
1)老板要求只看错误。
2)统计数量
企业需求十五:检查在线服务器
CMDB导出的服务器列表:
web01
web02
web01
db01
db01
要求:
1. 去除重复服务器。
sort cmdb.txt | uniq
2. 按名称排序。
sort cmdb.txt
3. 统计每台服务器出现次数。
sort cmdb.txt | uniq -c