Python运维常用脚本

一、清除指定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()

发布了41 篇原创文章 · 获赞 0 · 访问量 540

猜你喜欢

转载自blog.csdn.net/m0_46560389/article/details/105184520