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


相关推荐

  • arm64(aarch64)安装centos 7.5.1804

    arm64(aarch64)安装centos 7.5.1804总体说明Arm64的centos版本自7.5.1804以后不再和7.4、7.3、7.2等之前的一样直接提供一个rootfs.tar.xz的压缩包,全部变成了ISO的安装文件,因此需要EFI来引导安装,如果Aarch64的cpu用的是uboot就只有干瞪眼了,笔者花了一翻功夫,终于找到如何从ISO中提取出centos7.5.1804文件系统的方法,方便使用uboot的用户可以使用centos7….

    2022年10月16日
    4
  • VS Code中Git状态不更新,如何强制刷新仓库状态?

    VS Code中Git状态不更新,如何强制刷新仓库状态?

    2026年3月14日
    1
  • hostapd编译

    hostapd编译从官网下载源码http://w1.fi/hostapd/说明:本篇文章基于前两篇libnl编译和openssl编译的结果,存放路径第一步,解压tar-xvfhostapd-2.5.tar.gz cdhostapd-2.5/hostapd/第二步 cpdefconfig.config修改.config将#CONFIG_LIBNL32=y修改为CONFIG_LIBNL32=y第三步,修改M…

    2022年5月22日
    86
  • Linux怎么查看软件安装路径 查看mysql安装在哪

    Linux怎么查看软件安装路径 查看mysql安装在哪

    2021年10月14日
    54
  • ExecutorService 的理解与使用「建议收藏」

    ExecutorService 的理解与使用「建议收藏」接口java.util.concurrent.ExecutorService表述了异步执行的机制,并且可以让任务在后台执行。壹個ExecutorService实例因此特别像壹個线程池。事实上,在java.util.concurrent包中的ExecutorService的实现就是壹個线程池的实现。ExecutorService样例这里有壹個简单的使用Java实现的

    2025年10月22日
    5
  • 微信网页登录授权详解(前端)

    微信网页登录授权详解(前端)前几天做了一个 H5 页面项目 它是依托于微信服务号的网页 需要包含微信登录 微信支付以及微信订单查询功能 在这里说一下先说一下微信登录授权功能的实现微信登录授权微信登录授权呢 分为静默授权和非静默授权 两个的区别是 scope 属性的属性值不同 scope scopr base 是静默授权也就是不弹出页面 直接获取用户信息 scope scope userinfo 是非静默授权 用户需要同意

    2026年3月18日
    1

发表回复

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

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