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)
上一篇 2022年7月12日 下午5:36
下一篇 2022年7月12日 下午5:46


相关推荐

  • 13个Python GUI库

    13个Python GUI库PythonPython是一门高级编程语言。它用于通用编程。Python语言由GuidovanRossum创建,并于1991年首次发布。Python的设计哲学着重于代码的可读性。因此空白在Python中具有重要的意义。Python提供了允许在小规模和大规模上编程的设计理念,而且具有一个非常庞大的标准库。Python使用动态类型系统,并具有自动内存管理功能。更多Python视…

    2022年7月20日
    15
  • pytest重试_qq插件加载失败如何处理

    pytest重试_qq插件加载失败如何处理安装:pip3installpytest-rerunfailures重新运行所有失败用例要重新运行所有测试失败的用例,请使用–reruns命令行选项,并指定要运行测试的最大次数:$py

    2022年7月30日
    8
  • 卸载MySQL Connector NET无法卸载

    卸载MySQL Connector NET无法卸载卸载MySQLConnectorNET无法卸载最近安装了MYSQL数据库,安装完发现安装在了系统C盘,对于文件整理控加一丢丢强迫症的我来说,太介意了,不能忍。这里是解决办法:安装MYSQL自定义路径方法于是,开始卸载MYSQL,结果,ConnectorNET始终卸载不掉。网上看到了很多方法,删文件删注册表都无济于事,丝毫没有成功。终于,在google里找到可行的解决方法。原文网址:Cannotuninstall/repair/ChangeMySQL-Connector-net?Iss

    2022年7月15日
    33
  • 刚入校的孩子写了一封信电脑

    刚入校的孩子写了一封信电脑

    2022年1月5日
    53
  • C(Csharp)基础教程(上)(菜鸟教程笔记)

    C(Csharp)基础教程(上)(菜鸟教程笔记)目录 1 C 及其开发环境简介 1 1C 概述 1 2C 的编程功能 1 3C 与 Net 的关系 1 3 1 Net1 3 2C 1 4C 的集成开发环境 IntegratedDe IDE 1 4 1Windows 上编写 C 程序 1 4 2Linux MacOS 上编写 C 程序 2 C 程序结构 1 C 及其开发环境简介 1 1C 概述 C 是一个现代的 通用的 面向对象的编程语言 它是由微软 Microsoft 开发

    2026年3月26日
    2
  • 如何给女朋友做个树莓派复古相机?[通俗易懂]

    如何给女朋友做个树莓派复古相机?[通俗易懂]本文转载自程序员极客实验室手机拍照不够爽,带个单反又太重?试试做个树莓派复古相机,还能自己编写处理算法的那种——成本不到700元。没错,颜值很高,拍出来的照片也能打:你也可以快速上手做一个。如何制作一个树莓派复古相机目前,这部相机的代码、硬件清单、STL文件(用于3D打印)和电路图都已经开源。首先是硬件部分。这部复古相机的硬件清单如下:树莓派ZeroW(搭配microSD卡)、树莓派高清镜头模组、16mm1000万像素长焦镜头、2.2英寸TFT显

    2022年5月27日
    38

发表回复

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

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