import subprocess
msg = {"CPU":0,"MEM":1,"DISK":2,"IP":3,"PORT":4,"USER":5}
msg_tmp = []
cmd = 'cat /proc/cpuinfo'
ret = subprocess.getoutput(cmd)
line_ret = ret.split('\n')
for i in line_ret:
if i.strip().startswith('model name'):
cpu_type = i.strip().split(':')[1]
if i.strip().startswith('cpu cores'):
cpu_num = i.strip().split(':')[1]
cmd = 'uptime'
ret = subprocess.getoutput(cmd)
line_ret = ret.split(': ')[1].split(',')
avg = line_ret[0] + "%" +" " + line_ret[1] + "%" + " " +line_ret[2] + "%"
tmp_cpu = {"CPU型号:":cpu_type,"CPU核数:":cpu_num,"CPU平均负载":avg}
msg_tmp.append(tmp_cpu)
cmd = 'free -h'
ret = subprocess.getoutput(cmd)
line_ret = ret.split('\n')
for i in line_ret:
if i.strip().startswith('Mem:'):
mem_total = i.strip().split()[1]
mem_free = i.strip().split()[3]
tmp_mem = {"总内存:":mem_total,"剩余内存:":mem_free}
msg_tmp.append(tmp_mem)
cmd = 'lsblk'
ret = subprocess.getoutput(cmd)
line_ret = ret.split('\n')
r_name = ["磁盘名称:"]
r_RL = ["磁盘容量:"]
r_all_name = []
r_all_RL = []
r_str_name = ''
r_str_RL = ''
for i in line_ret:
if 'disk' in i.strip():
r_name.append(i.strip().split()[0])
r_RL.append(i.strip().split()[3])
for i in list(range(len(r_name))):
if i != 0:
r_str_name = r_str_name +" " +r_name[i]
r_str_RL = r_str_RL +" " +r_RL[i]
if i == len(r_name) - 1:
r_all_name.append(r_str_name)
r_all_RL.append(r_str_RL)
else:
r_all_name.append(r_name[i])
r_all_RL.append(r_RL[i])
tmp_raid = {r_all_name[0]:r_all_name[1],r_all_RL[0]:r_all_RL[1]}
msg_tmp.append(tmp_raid)
cmd = 'ifconfig'
ret = subprocess.getoutput(cmd)
line_ret = ret.split('\n')
ip_addr = ''
for i in line_ret:
if i.strip().startswith('inet') and 'inet' in i.strip().split():
if i.strip().split()[1] != '127.0.0.1':
ip_addr = ip_addr + " " + i.strip().split()[1]
tmp_ip = {"主机名:":subprocess.getoutput('hostname'),"IP地址:":ip_addr}
msg_tmp.append(tmp_ip)
cmd = 'ss -anpt'
ret = subprocess.getoutput(cmd)
line_port = ret.split('\n')
ports = ''
for i in line_port:
flag = i.split()[0]
if flag != 'State':
port = i.split()[3].split(':')[-1]
if port not in ports:
ports = ports +" "+ port
tmp_port = {"服务器开启的端口:":ports}
msg_tmp.append(tmp_port)
cmd = 'cat /etc/passwd'
ret = subprocess.getoutput(cmd)
line_ret = ret.split('\n')
list_name = ''
for i in line_ret:
list_uid = int(i.split(':')[2])
if list_uid > 1000 or list_uid == 1000:
list_name = ilst_name + " " + i.split(':')[0]
tmp_user = {"该服务器的所有普通用户为:":list_name}
msg_tmp.append(tmp_user)
for k ,v in msg.items():
msg[k] = msg_tmp[v]
for k ,v in msg.items():
print("%s:" % k)
for i , j in v.items():
print(i,j)
cmd = 'echo $USER'
ret = subprocess.getoutput(cmd)
print("当前登录的用户为:",ret)
cmd = 'date +%F-%T'
ret = subprocess.getoutput(cmd)
print("当前时间:",ret)