python运维脚本

获取主机cpu,内存, 磁盘使用率

import os
import psutil
import IPy

def cpuinfo():
    cpu_percent = psutil.cpu_percent(interval=1)  #interval 指的是时间间隔
    print('cpu使用率:%d%%' % cpu_percent)

def memissue():
    print('内存信息: ')
    mem = psutil.virtual_memory()

    #单位换算为MB
    memtotal = mem.total/1024/1024
    memused = mem.used/1024/1024
    memper = str(mem.used/mem.total*100)[:5] + '%'

    print('used: %.2fMB' % memused)
    print('total: %.2fMB' % memtotal)
    print('per:', memper)
def get_disk_info():  #windows
    # 循环磁盘分区
    content = ""
    for disk in psutil.disk_partitions():
        # 读写方式 光盘 or 有效磁盘类型
        if 'cdrom' in disk.opts or disk.fstype == '':
            continue
        disk_name_arr = disk.device.split(':')
        disk_name = disk_name_arr[0]
        disk_info = psutil.disk_usage(disk.device)
        # 磁盘剩余空间,单位G
        free_disk_size = disk_info.free//1024//1024//1024
        # 当前磁盘使用率和剩余空间G信息
        info = "%s盘使用率:%s%%, 剩余空间:%iG\n" % (disk_name, str(disk_info.percent), free_disk_size)
        # print(info)
        # 拼接多个磁盘的信息
        content = content + info
    print(content)
def disklist():#linux

     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('used: %.2fGB' % diskused)
     print('total: %.2fGB' % disktotal)
     print('per:%.2f' % diskbaifen)


获取网段有多少ip地址

def get_ipsum(network_segment):
    ip = IPy.IP(network_segment)
    print(ip.len())
    for i in ip:
        print(i)

network_segment='172.16.0.0/24'
get_ipsum(network_segment)

解析域名IP地址

import  dns.resolver
from collections import  defaultdict

hosts = ['baidu.com','weibo.com']
s = defaultdict(list)
def query(hosts):
    for host in hosts:
        ip = dns.resolver.query(host,"A")
        for i in ip:
            s[host].append(i)

    return s

for i in query(hosts):
       print(i, s[i])

清除redis缓存

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)

 转载https://www.jianshu.com/p/05a9baf0d942

posted @ 2019-11-26 11:50  xmc_2022  阅读(140)  评论(0)    收藏  举报