#通过Python的psutil模块,获取当前系统的各种信息(比如内存,cpu,磁盘,登录用户等),并将信息进行备份

# coding=utf-8

# 获取系统基本信息

import sys

import psutil

import time

import os

#获取当前时间

time_str = time.strftime( "%Y-%m-%d", time.localtime( ) )

file_name = "./" + time_str + ".log"

if os.path.exists ( file_name ) == False :

os.mknod( file_name )

handle = open ( file_name , "w" )

else :

handle = open ( file_name , "a" )

#获取命令行参数的个数

if len( sys.argv ) == 1 :

print_type = 1

else :

print_type = 2

def isset ( list_arr , name ) :

if name in list_arr :

return True

else :

return False

print_str = "";

#获取系统内存使用情况

if ( print_type == 1 ) or isset( sys.argv,"mem" ) :

memory_convent = 1024 * 1024

mem = psutil.virtual_memory()

print_str += " 内存状态如下:\n"

print_str = print_str + " 系统的内存容量为: "+str( mem.total/( memory_convent ) ) + " MB\n"

print_str = print_str + " 系统的内存以使用容量为: "+str( mem.used/( memory_convent ) ) + " MB\n"

print_str = print_str + " 系统可用的内存容量为: "+str( mem.total/( memory_convent ) - mem.used/( 1024*1024 )) + "MB\n"

print_str = print_str + " 内存的buffer容量为: "+str( mem.buffers/( memory_convent ) ) + " MB\n"

print_str = print_str + " 内存的cache容量为:" +str( mem.cached/( memory_convent ) ) + " MB\n"

#获取cpu的相关信息

if ( print_type == 1 ) or isset( sys.argv,"cpu" ) :

print_str += " CPU状态如下:\n"

cpu_status = psutil.cpu_times()

print_str = print_str + " user = " + str( cpu_status.user ) + "\n"

print_str = print_str + " nice = " + str( cpu_status.nice ) + "\n"

print_str = print_str + " system = " + str( cpu_status.system ) + "\n"

print_str = print_str + " idle = " + str ( cpu_status.idle ) + "\n"

print_str = print_str + " iowait = " + str ( cpu_status.iowait ) + "\n"

print_str = print_str + " irq = " + str( cpu_status.irq ) + "\n"

print_str = print_str + " softirq = " + str ( cpu_status.softirq ) + "\n"

print_str = print_str + " steal = " + str ( cpu_status.steal ) + "\n"

print_str = print_str + " guest = " + str ( cpu_status.guest ) + "\n"

#查看硬盘基本信息

if ( print_type == 1 ) or isset ( sys.argv,"disk" ) :

print_str += " 硬盘信息如下:\n"

disk_status = psutil.disk_partitions()

for item in disk_status :

print_str = print_str + " "+ str( item ) + "\n"

#查看当前登录的用户信息

if ( print_type == 1 ) or isset ( sys.argv,"user" ) :

print_str += " 登录用户信息如下:\n "

user_status = psutil.users()

for item in user_status :

print_str = print_str + " "+ str( item ) + "\n"

print_str += "---------------------------------------------------------------\n"

print ( print_str )

handle.write( print_str )

handle.close()

python123系统基本信息获取_Python运维-获取当前操作系统的各种信息相关推荐

  1. bind blz mysql_MySQ DBAL重点剖析课程 企业级MySQL系统安全与DBA运维日常事务管理 运维DBA必备宝典...

    MySQ DBAL重点剖析课程 企业级MySQL系统安全与DBA运维日常事务管理 运维DBA必备宝典 本资源由JAD资源网收集整理丨www.jiuandun.com 资源简介 MySQ DBAL重点剖 ...

  2. 智慧楼宇管理运营端app、运维管理、工单管理、报修管理、维保管理、巡检查询、巡检管理、能源管理、维保查询、智慧社区、巡检统计、工单统计、能源管理、智能楼宇、设备监控、智能社区、系统运营、楼宇运维小程序

    智慧楼宇管理运营端app.运维管理.工单管理.报修管理.维保管理.巡检查询.巡检管理.能源管理.维保查询.智慧社区.巡检统计.工单统计.能源管理.智能楼宇.设备监控.智能社区.系统运营.楼宇运维小程序 ...

  3. 让 Nginx 支持 WAF 防护功能web防火墙 - 沧海一粟 - Web系统架构与服务器运维,php开发...

    让 Nginx 支持 WAF 防护功能web防火墙 - 沧海一粟 - Web系统架构与服务器运维,php开发

  4. 流媒体系统的开发跟运维

    在现代数字化社会中,流媒体已经成为了人们生活的必要部分.流媒体系统的开发与运维也因此成为了一个重要的话题.本文将会介绍流媒体系统的开发与运维的相关内容,包括其基本原理,优化和问题排查等方面. 什么是流 ...

  5. Python运维-获取当前操作系统的各种信息

    #通过Python的psutil模块,获取当前系统的各种信息(比如内存,cpu,磁盘,登录用户等),并将信息进行备份 # coding=utf-8# 获取系统基本信息 import sys impor ...

  6. 用python开发的运维管理系统_python运维开发常用模块(一)psutil

    1.模块简介 psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻 松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网 络等)信息.它主 ...

  7. 故障申报系统php源码,运维不再专业救火 不会PHP照样找出代码性能问题

    作者: 凉白开 网站:www.ttlsa.com 身处互联网的SA(运维)们总感叹自己职业的苦逼,Why?我来告诉你:APP奔溃.网站打不开.网站502.搜索缓慢.应用卡顿通通找运维,运营.项目经理. ...

  8. python运维模块_Python 运维常用模块

    基础库:sys.os(os.path.os.stat).time.logging.prarmiko.re.random Python运维常用的20个库 1.psutil是一个跨平台库(https:// ...

  9. linux 系统lv扩展_Filecoin 运维(1) 几个常用的系统配置

    本文介绍几个在 Filecoin 挖矿运维的过程中会用到的几个系统配置和小工具. 说明:本文所有操作都是在 Ubuntu18.04-LTS 系统下进行的,Centos 可能需要有些调整,请自行摸索.另 ...

最新文章

  1. Winform窗体应用程序的自动更新功能
  2. mysql 5.6 mysqldump 简单_mysqldump的简单用法及其原理
  3. java编写脚本校验修改密码_java编写一个更改密码校验程序,有两个密码框,一个用于输入新密码,另一个请输入确认密码……...
  4. 101每日发现练习大图
  5. ASP.NET中实现模版的动态加载
  6. @select注解_SSM框架(十三):Spring框架中的IoC(3)新注解,完全摆脱xml文件
  7. es6 map与set
  8. GIS的下个十年(Chuck Drinnan, principal, eWAM Associates)
  9. PCI Express®Basics Background | PDF
  10. 无服务器TOP3大关键问题及解决方案
  11. 引用opencv异常
  12. cpu out of order, 性能优化
  13. 转自《编程世界》一篇让我震憾的文章
  14. 计算机学院特色迎新标语,开学迎新口号
  15. [推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到)
  16. bulk insert java_java oracle bulk insert
  17. 临江屯的月亮湾---月亮泡子
  18. 服务器不改变系统怎么清理c盘,服务器c盘满了怎么清理(清理c盘最简单的方法)...
  19. win10系统更新后底部状态栏经常无响应
  20. 如何查看浏览器http请求协议

热门文章

  1. export default (imported as router) was not found_U盘上的FOUND.000和FILE0000.CHK是什么
  2. _百万内最魔性的GT跑车 测试捷豹F-TYPE P380四驱版
  3. php 中文字符串截取函数--比较好的
  4. 京东发布虎年春晚互动攻略 春晚联名款金碗套装首次曝光
  5. 帕特·基辛格被任命为英特尔CEO已有一年
  6. 全球电动车竞争加剧 特斯拉全球市场份额持续下滑
  7. 苹果:我们一直在App Store上展示竞争对手的应用程序
  8. iPhone 13 mini背部新外观曝光:双摄对角线排布
  9. 广电总局拟规定设立未成年人频道
  10. 小红书CTO山丘:用户隐私保护是数据应用的第一前提