python常见运维脚本_Python运维常用脚本[通俗易懂]

python常见运维脚本_Python运维常用脚本[通俗易懂]一、清除指定redis缓存#!/usr/bin/envpython3importredis#选择连接的数据库db=input(‘输入数据库:’)r=redis.Redis(host=‘127.0.0.1’,port=6379,db=0)#输入要匹配的键名id=input(‘请输入要执匹配的字段:’)arg=‘’+id+’’n=r.keys(arg)#查看匹配到键值f…

大家好,又见面了,我是你们的朋友全栈君。

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157906.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • eNSP安装步骤_ENSP常用命令

    eNSP安装步骤_ENSP常用命令今天工作需要安装ensp,记下步骤以便以后使用。1前期准备工作1.1下载并打开VirtualBox-5.2.26-128414-Win安装包,按向导安装完毕。1.2下载并打开WinPcap_4_1_3安装包,按照导示安装完毕1.3下载并打开Wireshark-win64-1.12.4安装包,按照导示完成安装2完成ensp的安装下载并安装eNSP_Setup,打开运行按照导示完成安装即…

    2022年8月31日
    0
  • 美国地名大全(美国城市名称英文、中文)

    美国地名大全(美国城市名称英文、中文)

    2021年12月10日
    133
  • idea 2021 mybatis log plugin激活码(注册激活)

    (idea 2021 mybatis log plugin激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~F…

    2022年3月28日
    411
  • vue 关闭vue项目中烦死人的ESlint[通俗易懂]

    vue 关闭vue项目中烦死人的ESlint[通俗易懂]【已解决】vue关闭vue项目中烦死人的ESlint很多时候,因为一些书写问题,ESlint会报错。

    2022年6月12日
    36
  • 无穷小分析理论_无穷小是一个过程

    无穷小分析理论_无穷小是一个过程一般读者对无穷小微积分只是略知一二,其实这是不够的。现将有关文章引用如下,供读者参考。袁萌 12月23日非标准分析概念又可称为实无穷小分析)(英语:Non-standardanalysis)是一个数学分支,它用严格定义的无穷小的数(infinitesimalnumber)的概念来构建数学分析大厦。1历史2动机2.1历史上的原因2.2教学上的原因2.3技术上的原因3无穷小分析的各种建立

    2022年8月11日
    3
  • springcloud微服务搭建_域名301重定向教程

    springcloud微服务搭建_域名301重定向教程前言1.由于我只有一台nginx服务器,那么想要实现一个服务器的多个网站的搭建,在html目录下建立多个文件夹,并用url转发使得不同的二级域名指向html文件夹下的不同子文件夹,这样做便能做到“多个网站”的效果。2.url转发也能够使得一个网站拥有几个域名比如wikipedia.com和wikipedia.net都指向了wikipedia.org。当你访问wikipedia.com或wikipedia.net的时候,跳转出来的页面是wikipedia.org的页面3.重定向是带有状态码的响应,我

    2022年10月19日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号