python常见运维脚本_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()

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值