2024年10月python运维(Python运维工程师是什么Python运维工程师工作职责及要求!)

 更新时间:2024-10-12

  ⑴python运维(Python运维工程师是什么Python运维工程师工作职责及要求!

  ⑵Python运维工程师工作职责及要求!工作职责:、负责公司自动化运维管理工具开发;、利用Python开发,使得服务器物理数据或进程数据Web界面化;、根据需求编写SaltStack脚本完成相关软件部署、配置、管理;、提升运维工作自动化以及智能化程度;、日常运维相关脚本编写,本文目录Python运维工程师是什么Python运维工程师工作职责及要求!python运维常用脚本运维开发为什么要用PythonPython运维工程师是什么Python运维工程师工作职责及要求!很多人应该都听说过Python工程师、Linux运维工程师,Python运维工程师是什么?运维工程师最基本的职责是负责服务的稳定性,那么你知道什么是Python运维工程师吗?它的工作职责以及岗位要求是什么呢?我们一起来看看吧,继续进行转换datetime.datetime.fromtimestamp(psutil.boot_time()).strftime(’%Y-%m-%d%H:%M:%S’)Python生成一个随机密码importrandom,stringdefGenPassword(length):ifname==’main’:print(GenPassword())运维开发为什么要用Python对于运维而言,包含操作系统原理、常用系统命令、系统服务;、熟练掌握Python语言,python运维常用脚本Python批量遍历目录文件,并修改访问时间importospath=“D:/UASM/include/“dirs=os.listdir(path)temp=;forfileindirs:temp.append(os.path.join(path,file))forxintemp:os.utime(x,(,))Python实现的自动化服务器管理importsysimportosimportparamikossh=paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())defssh_cmd(user,passwd,port,userfile,cmd):defssh_put(user,passwd,source,target):whileTrue:try:shell=str(input(“#“))if(shell==““):continueelif(shell==“exit“):exit()elif(shell==“put“):ssh_put(“root“,““,“)elif(shell==“cron“):temp=input(“输入一个计划任务:“)temp=“(crontab-l;echo“+temp+“)|crontab“ssh_cmd(“root“,““,““,“)elif(shell==“uncron“):temp=input(“输入要删除的计划任务:“)temp=“crontab-l|grep-v““+temp+“|crontab“ssh_cmd(“root“,““,““,“)else:ssh_cmd(“lyshark“,““,““,“)遍历目录和文件importosdeflist_all_files(rootdir):importos_files=list=os.listdir(rootdir)#列出文件夹下所有的目录与文件foriinrange(,len(list)):path=os.path.join(rootdir,list)ifos.path.isdir(path):_files.extend(list_all_files(path))ifos.path.isfile(path):_files.append(path)return_filesa=list_all_files(“C:/Users/LyShark/Desktop/a“)print(a)python检测指定端口状态importsocketsk=socket.socket(socket.AF_I,socket.SOCK_STREAM)sk.settimeout()foripinrange(,):try:sk.connect((“...“+str(ip),))print(“...%dserveropen

  ⑶“%ip)exceptException:print(“...%dservernotopen“%ip)sk.close()python实现批量执行CMD命令importsysimportosimportparamikossh=paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())print(“------------------------------》

  ⑷“)print(“使用说明,在当前目录创建ip.txt写入ip地址“)print(“------------------------------》

  ⑸“)user=input(“输入用户名:“)passwd=input(“输入密码:“)port=input(“输入端口:“)cmd=input(“输入执行的命令:“)file=open(“)line=file.readlines()foriinraimportsysimportoslist=sum=str=os.popen(“psaux“,“r“).readlines()foriinstr:str=i.split()new_rss=strlist.append(new_rss)foriinlist:num=int(i)sum=sum+numprint(“%s---》%s“%(list,sum))关于Python命令行参数argvimportsysiflen(sys.argv)《:print(“没有输入任何参数“)sys.exit()ifsys.argv.startswith(“-“):option=sys.argv利用random生成位数字加字母随机验证码importsysimportrandomrand=forxinrange():y=random.randrange(,)ify==ory==:num=random.randrange(,)rand.append(str(num))else:temp=random.randrange(,)c=chr(temp)rand.append(c)result=““.join(rand)print(result)自动化-使用pexpect非交互登陆系统importpexpectimportsysssh=pexpect.spawn(’’)fout=file(’sshlog.txt’,’w’)ssh.logfile=foutssh.expect(“’spassword:“)ssh.sendline(“密码“)ssh.expect(’#’)ssh.sendline(’ls/home’)ssh.expect(’#’)Python-取系统时间importsysimporttimetime_str=time.strftime(“日期:%Y-%m-%d“,time.localtime())print(time_str)time_str=time.strftime(“时间:%H:%M“,time.localtime())print(time_str)psutil-获取内存使用情况importsysimportosimportpsutilmemory_convent=*mem=psutil.virtual_memory()print(“内存容量为:“+str(mem.total/(memory_convent))+“MB

  ⑹“)print(“已使用内存:“+str(mem.used/(memory_convent))+“MB

  ⑺“)print(“可用内存:“+str(mem.total/(memory_convent)-mem.used/(*))+“MB

  ⑻“)print(“buffer容量:“+str(mem.buffers/(memory_convent))+“MB

  ⑼“)print(“cache容量:“+str(mem.cached/(memory_convent))+“MB

  ⑽“)Python-通过SNMP协议监控CPU注意:被监控的机器上需要支持snmp协议yuminstall-y-snmp*importosdefgetAllitems(host,oid):sn=os.popen(’snmpwalk-vc-cpublic’+host+’’+oid+’|grepRaw|grepCpu|grep-vKernel’).read().split(’

  ⑾’)returnsndefgetDate(host):items=getAllitems(host,’........’)ifname==’main’:Python-通过SNMP协议监控系统负载注意:被监控的机器上需要支持snmp协议yuminstall-y-snmp*importosimportsysdefgetAllitems(host,oid):sn=os.popen(’snmpwalk-vc-cpublic’+host+’’+oid).read().split(’

  ⑿’)returnsndefgetload(host,loid):load_oids=’..........’+str(loid)returngetAllitems(host,load_oids)ifname==’main’:Python-通过SNMP协议监控内存注意:被监控的机器上需要支持snmp协议yuminstall-y-snmp*importosdefgetAllitems(host,oid):defgetSwapTotal(host):defgetSwapUsed(host):defgetMemTotal(host):defgetMemUsed(host):ifname==’main’:Python-通过SNMP协议监控磁盘注意:被监控的机器上需要支持snmp协议yuminstall-y-snmp*importreimportosdefgetAllitems(host,oid):defgetDate(source,newitem):defgetRealDate(item,item,listname):defcaculateDiskUsedRate(host):ifname==’main’:Python-通过SNMP协议监控网卡流量注意:被监控的机器上需要支持snmp协议yuminstall-y-snmp*importreimportosdefgetAllitems(host,oid):sn=os.popen(’snmpwalk-vc-cpublic’+host+’’+oid).read().split(’

  ⒀’)returnsndefgetDevices(host):device_mib=getAllitems(host,’RFC-MIB::ifDescr’)device_list=defgetDate(host,oid):date_mib=getAllitems(host,oid)date=ifname==’main’:Python-实现多级菜单importosimportsysps=“-》“ip=flage=whileTrue:ps=“-》“temp=input(ps)if(temp==“test“):print(“testpage!!!!“)elif(temp==“user“):while(flage==):ps=“-》“temp=input(ps)if(temp==“exit“):flage=breakelif(temp==“show“):foriinrange(len(ip)):print(i)Python实现一个没用的东西importsysps=“#“ip=whileTrue:temp=input(ps)temp=temp.split()检查各个进程读写的磁盘IOimportsysimportosimporttimeimportsignalimportreclassDiskIO:definit(self,pname=None,pid=None,reads=,writes=):self.pname=pnameself.pid=pidself.reads=self.writes=defmain():argc=len(sys.argv)ifargc!=:print(“usage:pleaserunthisscriptlike“)sys.exit()ifos.getuid()!=:print(“Error:Thisscriptmustberunasroot“)sys.exit()signal.signal(signal.SIGINT,signal_handler)os.system(’echo》/proc/sys/vm/block_dump’)print(“TASKPIDREADWRITE“)whileTrue:os.system(’dmesg-c》/tmp/diskio.log’)l=f=open(’/tmp/diskio.log’,’r’)line=f.readline()whileline:m=re.match(’^(S+)(d+)(d+):(READ|WRITE)block(d+)on(S+)’,line)ifm!=None:ifnotl:l.append(DiskIO(m.group(),m.group()))line=f.readline()continuefound=Falseforiteminl:ifitem.pid==m.group():found=Trueifm.group()==“READ“:item.reads=item.reads+elifm.group()==“WRITE“:item.writes=item.writes+ifnotfound:l.append(DiskIO(m.group(),m.group()))line=f.readline()time.sleep()foriteminl:print(“%-s%s%d%d“%(item.pname,item.pid,item.reads,item.writes))defsignal_handler(signal,frame):os.system(’echo》/proc/sys/vm/block_dump’)sys.exit()ifname==“main“:main()利用Pexpect实现自动非交互登陆linuximportpexpectimportsysssh=pexpect.spawn(’’)fout=file(’sshlog.log’,’w’)ssh.logfile=foutssh.expect(“’spassword:“)ssh.sendline(“密码“)ssh.expect(’#’)ssh.sendline(’ls/home’)ssh.expect(’#’)利用psutil模块获取系统的各种统计信息importsysimportpsutilimporttimeimportostime_str=time.strftime(“%Y-%m-%d“,time.localtime())file_name=“(file_name)==False:os.mknod(file_name)handle=open(file_name,“w“)else:handle=open(file_name,“a“)iflen(sys.argv)==:print_type=else:print_type=defisset(list_arr,name):ifnameinlist_arr:returnTrueelse:returnFalseprint_str=““;if(print_type==)orisset(sys.argv,“mem“):memory_convent=*mem=psutil.virtual_memory()print_str+=“内存状态如下:

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

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

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

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

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

  ⒆“if(print_type==)orisset(sys.argv,“cpu“):print_str+=“CPU状态如下:

  ⒇“cpu_status=psutil.cpu_times()print_str=print_str+“user=“+str(cpu_status.user)+“

  ⒈“print_str=print_str+“nice=“+str(cpu_status.nice)+“

  ⒉“print_str=print_str+“system=“+str(cpu_status.system)+“

  ⒊“print_str=print_str+“idle=“+str(cpu_status.idle)+“

  ⒋“print_str=print_str+“iowait=“+str(cpu_status.iowait)+“

  ⒌“print_str=print_str+“irq=“+str(cpu_status.irq)+“

  ⒍“print_str=print_str+“softirq=“+str(cpu_status.softirq)+“

  ⒎“print_str=print_str+“steal=“+str(cpu_status.steal)+“

  ⒏“print_str=print_str+“guest=“+str(cpu_status.guest)+“

  ⒐“if(print_type==)orisset(sys.argv,“disk“):print_str+=“硬盘信息如下:

  ⒑“disk_status=psutil.disk_partitions()foritemindisk_status:print_str=print_str+““+str(item)+“

  ⒒“if(print_type==)orisset(sys.argv,“user“):print_str+=“登录用户信息如下:

  ⒓“user_status=psutil.users()foriteminuser_status:print_str=print_str+““+str(item)+“

  ⒔“print_str+=“---------------------------------------------------------------

  ⒕“print(print_str)handle.write(print_str)handle.close()importpsutilmem=psutil.virtual_memory()printmem.total,mem.used,memprintpsutil.swap_memory()#输出获取SWAP分区信息cpu=psutil.cpu_stats()printcpu.interrupts,cpu.ctx_switchespsutil.cpu_times(percpu=True)#输出每个核心的详细CPU信息psutil.cpu_times().user#获取CPU的单项数据psutil.cpu_count()#获取CPU逻辑核心数。

  ⒖Python运维工程师是什么Python运维工程师工作职责及要求!

  ⒗很多人应该都听说过Python工程师、Linux运维工程师,那么你知道什么是Python运维工程师吗?它的工作职责以及岗位要求是什么呢?我们一起来看看吧。Python运维工程师是什么?运维工程师最基本的职责是负责服务的稳定性,确保服务可以二十四小时不间断地为用户提供服务,这个岗位负责维护并确保整个服务的高可用性,同时不断优化系统架构、提升部署效率、优化资源利用率提高整体ROI。Python运维工程师工作职责及要求!工作职责:、负责公司自动化运维管理工具开发;、利用Python开发,使得服务器物理数据或进程数据Web界面化;、根据需求编写SaltStack脚本完成相关软件部署、配置、管理;、提升运维工作自动化以及智能化程度;、日常运维相关脚本编写。岗位要求:、熟悉Linux系统,包含操作系统原理、常用系统命令、系统服务;、熟练掌握Python语言,熟练使用Python常用模块和服务器技术相关模块;、至少熟悉一种PythonWeb框架,如Django、Tornado等;、至少一年以上Python项目开发经验,能够利用Python提取服务器物理数据或告警信息,达到界面可视化。

  ⒘python运维常用脚本

  ⒙Python批量遍历目录文件,并修改访问时间

  ⒚path=“D:/UASM/include/“dirs=os.listdir(path)temp=;

  ⒛forfileindirs:temp.append(os.path.join(path,file))forxintemp:os.utime(x,(,))Python实现的自动化服务器管理

  importsysimportosimportparamiko

  ssh=paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

  defssh_cmd(user,passwd,port,userfile,cmd):

  defssh_put(user,passwd,source,target):

  whileTrue:try:shell=str(input(“#“))if(shell==““):continueelif(shell==“exit“):exit()elif(shell==“put“):ssh_put(“root“,““,“)elif(shell==“cron“):temp=input(“输入一个计划任务:“)temp=“(crontab-l;echo“+temp+“)|crontab“ssh_cmd(“root“,““,““,“)elif(shell==“uncron“):temp=input(“输入要删除的计划任务:“)temp=“crontab-l|grep-v““+temp+“|crontab“ssh_cmd(“root“,““,““,“)else:ssh_cmd(“lyshark“,““,““,“)

  deflist_all_files(rootdir):importos_files=list=os.listdir(rootdir)#列出文件夹下所有的目录与文件foriinrange(,len(list)):path=os.path.join(rootdir,list)ifos.path.isdir(path):_files.extend(list_all_files(path))ifos.path.isfile(path):_files.append(path)return_files

  a=list_all_files(“C:/Users/LyShark/Desktop/a“)print(a)python检测指定端口状态

  importsocket

  sk=socket.socket(socket.AF_I,socket.SOCK_STREAM)sk.settimeout()

  foripinrange(,):try:sk.connect((“...“+str(ip),))print(“...%dserveropen

  “%ip)exceptException:print(“...%dservernotopen“%ip)

  sk.close()

  python实现批量执行CMD命令

  importsysimportosimportparamiko

  ssh=paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

  print(“------------------------------》

  “)print(“使用说明,在当前目录创建ip.txt写入ip地址“)print(“------------------------------》

  user=input(“输入用户名:“)passwd=input(“输入密码:“)port=input(“输入端口:“)cmd=input(“输入执行的命令:“)

  file=open(“)line=file.readlines()

  importsysimportos

  str=os.popen(“psaux“,“r“).readlines()

  foriinstr:str=i.split()new_rss=strlist.append(new_rss)foriinlist:num=int(i)sum=sum+num

  print(“%s---》%s“%(list,sum))

  关于Python命令行参数argv

  iflen(sys.argv)《:print(“没有输入任何参数“)sys.exit()

  ifsys.argv.startswith(“-“):option=sys.argv

  利用random生成位数字加字母随机验证码

  importsysimportrandom

  forxinrange():y=random.randrange(,)ify==ory==:num=random.randrange(,)rand.append(str(num))else:temp=random.randrange(,)c=chr(temp)rand.append(c)result=““.join(rand)print(result)

  自动化-使用pexpect非交互登陆系统

  importpexpectimportsys

  ssh=pexpect.spawn(’’)fout=file(’sshlog.txt’,’w’)ssh.logfile=fout

  ssh.expect(“’spassword:“)

  ssh.sendline(“密码“)ssh.expect(’#’)

  ssh.sendline(’ls/home’)ssh.expect(’#’)

  Python-取系统时间

  importsysimporttime

  time_str=time.strftime(“日期:%Y-%m-%d“,time.localtime())print(time_str)

  time_str=time.strftime(“时间:%H:%M“,time.localtime())print(time_str)

  psutil-获取内存使用情况

  importsysimportosimportpsutil

  memory_convent=*mem=psutil.virtual_memory()

  print(“内存容量为:“+str(mem.total/(memory_convent))+“MB

  “)print(“已使用内存:“+str(mem.used/(memory_convent))+“MB

  “)print(“可用内存:“+str(mem.total/(memory_convent)-mem.used/(*))+“MB

  “)print(“buffer容量:“+str(mem.buffers/(memory_convent))+“MB

  “)print(“cache容量:“+str(mem.cached/(memory_convent))+“MB

  Python-通过SNMP协议监控CPU注意:被监控的机器上需要支持snmp协议yuminstall-y-snmp*

  defgetAllitems(host,oid):sn=os.popen(’snmpwalk-vc-cpublic’+host+’’+oid+’|grepRaw|grepCpu|grep-vKernel’).read().split(’

  ’)returnsn

  defgetDate(host):items=getAllitems(host,’........’)

  ifname==’main’:

  Python-通过SNMP协议监控系统负载注意:被监控的机器上需要支持snmp协议yuminstall-y-snmp*

  importosimportsys

  defgetAllitems(host,oid):sn=os.popen(’snmpwalk-vc-cpublic’+host+’’+oid).read().split(’

  ’)returnsn

  defgetload(host,loid):load_oids=’..........’+str(loid)returngetAllitems(host,load_oids)

  ifname==’main’:

  Python-通过SNMP协议监控内存注意:被监控的机器上需要支持snmp协议yuminstall-y-snmp*

  defgetAllitems(host,oid):

  defgetSwapTotal(host):

  defgetSwapUsed(host):

  defgetMemTotal(host):

  defgetMemUsed(host):

  ifname==’main’:

  Python-通过SNMP协议监控磁盘注意:被监控的机器上需要支持snmp协议yuminstall-y-snmp*

  importreimportos

  defgetAllitems(host,oid):

  defgetDate(source,newitem):

  defgetRealDate(item,item,listname):

  defcaculateDiskUsedRate(host):

  ifname==’main’:

  Python-通过SNMP协议监控网卡流量注意:被监控的机器上需要支持snmp协议yuminstall-y-snmp*

  importreimportos

  defgetAllitems(host,oid):sn=os.popen(’snmpwalk-vc-cpublic’+host+’’+oid).read().split(’

  ’)returnsn

  defgetDevices(host):device_mib=getAllitems(host,’RFC-MIB::ifDescr’)device_list=

  defgetDate(host,oid):date_mib=getAllitems(host,oid)date=

  ifname==’main’:

  Python-实现多级菜单

  importosimportsys

  ps=“-》“ip=flage=

  whileTrue:ps=“-》“temp=input(ps)if(temp==“test“):print(“testpage!!!!“)elif(temp==“user“):while(flage==):ps=“-》“temp=input(ps)if(temp==“exit“):flage=breakelif(temp==“show“):foriinrange(len(ip)):print(i)

  Python实现一个没用的东西

  whileTrue:temp=input(ps)temp=temp.split()

  检查各个进程读写的磁盘IO

  importsysimportosimporttimeimportsignalimportre

  classDiskIO:definit(self,pname=None,pid=None,reads=,writes=):self.pname=pnameself.pid=pidself.reads=self.writes=

  defmain():argc=len(sys.argv)ifargc!=:print(“usage:pleaserunthisscriptlike“)sys.exit()ifos.getuid()!=:print(“Error:Thisscriptmustberunasroot“)sys.exit()signal.signal(signal.SIGINT,signal_handler)os.system(’echo》/proc/sys/vm/block_dump’)print(“TASKPIDREADWRITE“)whileTrue:os.system(’dmesg-c》/tmp/diskio.log’)l=f=open(’/tmp/diskio.log’,’r’)line=f.readline()whileline:m=re.match(’^(S+)(d+)(d+):(READ|WRITE)block(d+)on(S+)’,line)ifm!=None:ifnotl:l.append(DiskIO(m.group(),m.group()))line=f.readline()continuefound=Falseforiteminl:ifitem.pid==m.group():found=Trueifm.group()==“READ“:item.reads=item.reads+elifm.group()==“WRITE“:item.writes=item.writes+ifnotfound:l.append(DiskIO(m.group(),m.group()))line=f.readline()time.sleep()foriteminl:print(“%-s%s%d%d“%(item.pname,item.pid,item.reads,item.writes))defsignal_handler(signal,frame):os.system(’echo》/proc/sys/vm/block_dump’)sys.exit()

  ifname==“main“:main()

  利用Pexpect实现自动非交互登陆linux

  importpexpectimportsys

  ssh=pexpect.spawn(’’)fout=file(’sshlog.log’,’w’)ssh.logfile=fout

  ssh.expect(“’spassword:“)

  ssh.sendline(“密码“)

  ssh.expect(’#’)ssh.sendline(’ls/home’)ssh.expect(’#’)

  利用psutil模块获取系统的各种统计信息

  importsysimportpsutilimporttimeimportos

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

  ifos.path.exists(file_name)==False:os.mknod(file_name)handle=open(file_name,“w“)else:handle=open(file_name,“a“)

  iflen(sys.argv)==:print_type=else:print_type=

  defisset(list_arr,name):ifnameinlist_arr:returnTrueelse:returnFalse

  print_str=““;

  if(print_type==)orisset(sys.argv,“mem“):memory_convent=*mem=psutil.virtual_memory()print_str+=“内存状态如下:

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

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

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

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

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

  if(print_type==)orisset(sys.argv,“cpu“):print_str+=“CPU状态如下:

  “cpu_status=psutil.cpu_times()print_str=print_str+“user=“+str(cpu_status.user)+“

  “print_str=print_str+“nice=“+str(cpu_status.nice)+“

  “print_str=print_str+“system=“+str(cpu_status.system)+“

  “print_str=print_str+“idle=“+str(cpu_status.idle)+“

  “print_str=print_str+“iowait=“+str(cpu_status.iowait)+“

  “print_str=print_str+“irq=“+str(cpu_status.irq)+“

  “print_str=print_str+“softirq=“+str(cpu_status.softirq)+“

  “print_str=print_str+“steal=“+str(cpu_status.steal)+“

  “print_str=print_str+“guest=“+str(cpu_status.guest)+“

  if(print_type==)orisset(sys.argv,“disk“):print_str+=“硬盘信息如下:

  “disk_status=psutil.disk_partitions()foritemindisk_status:print_str=print_str+““+str(item)+“

  if(print_type==)orisset(sys.argv,“user“):print_str+=“登录用户信息如下:

  “user_status=psutil.users()foriteminuser_status:print_str=print_str+““+str(item)+“

  print_str+=“---------------------------------------------------------------

  “print(print_str)handle.write(print_str)handle.close()

  importpsutil

  mem=psutil.virtual_memory()printmem.total,mem.used,memprintpsutil.swap_memory()#输出获取SWAP分区信息

  cpu=psutil.cpu_stats()printcpu.interrupts,cpu.ctx_switches

  psutil.cpu_times(percpu=True)#输出每个核心的详细CPU信息psutil.cpu_times().user#获取CPU的单项数据psutil.cpu_count()#获取CPU逻辑核心数,默认logical=Truepsutil.cpu_count(logical=False)#获取CPU物理核心数

  psutil.disk_partitions()#列出全部的分区信息psutil.disk_usage(’/’)#显示出指定的挂载点情况【字节为单位】psutil.disk_io_counters()#磁盘总的IO个数psutil.disk_io_counters(perdisk=True)#获取单个分区IO个数

  psutil._io_counter()获取网络总的IO,默认参数pernic=Falsepsutil._io_counter(pernic=Ture)获取网络各个网卡的IO

  psutil.pids()#列出所有进程的pid号p=psutil.Process()p.name()列出进程名称p.exe()列出进程bin路径p.cwd()列出进程工作目录的绝对路径p.status()进程当前状态p.create_time()进程创建的时间p.uids()p.gids()p.cputimes()【进程的CPU时间,包括用户态、内核态】p.cpu_affinity()#显示CPU亲缘关系p.memory_percent()进程内存利用率p.meminfo()进程的RSS、VMS信息p.io_counters()进程IO信息,包括读写IO数及字节数p.connections()返回打开进程socket的namedutples列表p.num_threads()进程打开的线程数

  importpsutilfromsubprocessimportPIPEp=psutil.Popen(,stdout=PIPE)p.name()p.username()p.municate()p.cpu_times()

  psutil.users()#显示当前登录的用户,和Linux的who命令差不多

  psutil.boot_time()结果是个UNIX时间戳,下面我们来转换它为标准时间格式,如下:datetime.datetime.fromtimestamp(psutil.boot_time())#得出的结果不是str格式,继续进行转换datetime.datetime.fromtimestamp(psutil.boot_time()).strftime(’%Y-%m-%d%H:%M:%S’)

  Python生成一个随机密码

  importrandom,stringdefGenPassword(length):

  ifname==’main’:print(GenPassword())

  运维开发为什么要用Python

  对于运维而言,系统运行过程中变化小,重复性非常高

  Python是高层语言,只需要(-测试-调试过程,不需要编译,在每一次使用时直接调用库文件

  开发速度Python是C、C的倍,甚至可以将C、C已经编好的程序直接附在python中使用,python就像胶水语言一样,所以python非常适合做测试,运维管理

您可能感兴趣的文章:

相关文章