一、清除指定redis缓存
!/usr/bin/env python3
import redis
选择连接的数据库
db = input(‘输入数据库:’)
r = redis.Redis(host=‘127.0.0.1’,port=6379,db=0)
输入要匹配的键名
id = input(‘请输入要执匹配的字段:’)
arg = ‘’ + id + '’
n = r.keys(arg)
查看匹配到键值
for i in n:
print(i.decode(‘utf-8’))
确定清除的键名
delid = input(‘输入要删除的键:’)
print(‘清除缓存 %s 成功’ % delid)
二、判断是否是一个目录
!/usr/bin/env python3
import os
dir = “/var/www/html/EnjoyCarApi/”
if os.path.isdir(dir):
print(’%s is a dir’ % dir)
else:
print(’%s is not a dir’ % dir)
三、统计nginx日志前十ip访问量并以柱状图显示
!/usr/bin/env python3
import matplotlib.pyplot as plt
nginx_file = ‘nginx2018-12-18_07:45:26’
ip = {}
筛选nginx日志文件中的ip
with open(nginx_file) as f:
for i in f.readlines():
s = i.strip().split()[0]
lengh = len(ip.keys())
统计每个ip的访问量以字典存储
if s in ip.keys():
ip[s] = ip[s] + 1
else:
ip[s] = 1
以ip出现的次数排序返回对象为list
ip = sorted(ip.items(), key=lambda e:e[1], reverse=True)
取列表前十
newip = ip[0:10:1]
tu = dict(newip)
x = []
y = []
for k in tu:
x.append(k)
y.append(tu[k])
plt.title(‘ip access’)
plt.xlabel(‘ip address’)
plt.ylabel(‘PV’)
x轴项的翻转角度
plt.xticks(rotation=70)
显示每个柱状图的值
for a,b in zip(x,y):
plt.text(a, b, ‘%.0f’ % b, ha=‘center’, va= ‘bottom’,fontsize=7)
plt.bar(x,y)
plt.legend()
plt.show()
四、查看网段里有多少ip地址
!/usr/bin/env python3
import IPy
ip = IPy.IP(‘172.16.0.0/26’)
print(ip.len())
for i in ip:
print(i)
五、系统内存与磁盘检测
!/usr/bin/env python3
import psutil
def memissue():
print(‘内存信息:’)
mem = psutil.virtual_memory()
单位换算为MB
memtotal = mem.total/1024/1024
memused = mem.used/1024/1024
membaifen = str(mem.used/mem.total*100) + ‘%’
print('%.2fMB' % memused)
print('%.2fMB' % memtotal)
print(membaifen)
def cuplist():
print(‘磁盘信息:’)
disk = psutil.disk_partitions()
diskuse = psutil.disk_usage(’/’)
单位换算为GB
diskused = diskuse.used / 1024 / 1024 / 1024
disktotal = diskuse.total / 1024 / 1024 / 1024
diskbaifen = diskused / disktotal * 100
print(’%.2fGB’ % diskused)
print(’%.2fGB’ % disktotal)
print(’%.2f’ % diskbaifen)
memissue()
print(’*’)
cuplist()