盘点服务器配置信息的python脚本

#脚本作用:查询服务器配置信息
#用法:IP写入当前文件host.txt中再执行该脚本
#日期:2018-1-15
#作者:¥¥¥

import paramiko
from multiprocessing import Pool

def main(hostname):
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try:
ssh.connect(hostname,22,"用户名","密码")
except:
with open("/tmp/error.txt",‘a‘) as f:
f.write("%s is connect error\n" % hostname)
return
Cpu_num = ssh.exec_command(‘cat /proc/cpuinfo | grep "physical id" | uniq | wc -l‘)[1].read().strip()
Cpu_code = ssh.exec_command("cat /proc/cpuinfo | grep ‘cpu cores‘ | uniq")[1].read().strip()
Mem = ssh.exec_command(‘cat /proc/meminfo | grep MemTotal‘)[1].read().strip()
Disk = ssh.exec_command("""df -m|awk ‘$4~/^[0-9]/ {split($4,array,"[A-Z]");b+=array[1]} END {print b/1024}‘""")[1].read().strip()
Os = ssh.exec_command("cat /etc/issue | xargs")[1].read().strip()
Ntp_PS = int(ssh.exec_command("ps -ef | grep -v grep | grep ntp | wc -l")[1].read())
if Ntp_PS == 1:
NtpPS = "TRUE"
else:
NtpPS = "False"
Ntp = ssh.exec_command("cat /etc/ntp.conf | grep server | xargs")[1].read().strip()
Timezone = ssh.exec_command("cat /etc/timezone")[1].read().strip()
Swapiness = ssh.exec_command("cat /etc/sysctl.conf | grep swappiness | xargs")[1].read().strip()
Dns_resolv = ssh.exec_command("cat /etc/resolv.conf | grep nameserver | xargs")[1].read().strip()
Dns = ssh.exec_command("cat /etc/network/interfaces | grep dns")[1].read().strip()
Repo = int(ssh.exec_command("cat /etc/apt/sources.list | grep uledns |wc -l")[1].read())
if Repo >= 3:
Repo = "True"
else:
Repo = "False"

Zabbix = int(ssh.exec_command("ps -ef |grep zabbix |wc -l")[1].read())
if Zabbix >= 3:
    Zabbix = "True"
else:
    Zabbix = "False"

with open("/tmp/zhoujinlong.txt",‘a‘) as z:
    z.write("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n" %
            (hostname,Cpu_num,Cpu_code,Mem,Disk,Os,Ntp_PS,Ntp,Timezone,Swapiness,Dns_resolv,Dns,Repo,Zabbix))

if name == ‘main‘:
pool = Pool(processes=10)
f = open("host.txt")
for i in f:
hostname = i.strip()
pool.apply_async(main,(hostname,))
pool.close()
pool.join()

原文地址:http://blog.51cto.com/12629984/2061109

时间: 2024-10-22 08:24:21

盘点服务器配置信息的python脚本的相关文章

另外一个给微信企业号发文字信息的python脚本

http://chenx1242.blog.51cto.com/10430133/1954634 文章里面有一个python脚本可以用来给微信企业号发信息,如果你不喜欢那篇文章里面"title+content"的样式,可以使用如下的脚本: #coding:utf-8 import urllib2 import json import sys def getMsg():     #为了避免发送中文消息报错,使用utf8方式编码     reload(sys)     sys.setdef

linux服务器内存cpu 流量tcp异常信息记录python脚本

#!/usr/bin/python#coding:utf-8import commandsimport os import reimport datetime#if mem util > 30 echo to mem_file_report and cpu util mem_info = commands.getstatusoutput('top -b|head -n30|tail -n24')info = mem_info[1].split('\n')count = 0 num = 0for

简易Python脚本爬取我爱我家网站信息

最近杭州房价涨得好凶,要不要跟风买房,确实是个头疼的问题,不过做点准备总是没坏处的.前段时间我找了一个我爱我家的中介了解了下情况,他提到我爱我家官网,说上面信息的时效性和准确度都不错,可以时常关注一下.本着程序员的天性,一切可以用脚本偷懒的事情就都不要麻烦自己动手了,于是就写了一个脚本,用于监测我爱我家官网的消息变动,有新的房源信息就发短信给自己. 首先分析一下可行性,爬取网站,取得HTML页面的信息当然是没什么难度的,接下来就是从中整理出有用的信息,然后发短信给自己了. 发送短信的服务,搜索了

Python ----脚本CGI、特点、应用、开发环境

CGI CGI 目前由NCSA维护,NCSA定义CGI如下: CGI(Common Gateway Interface),通用网关接口,它是一段程序,运行在服务器上如:HTTP服务器,提供同客户端HTML页面的接口. CGI程序可以是Python脚本.Perl脚本.Shell脚本.C或者C++程序等. 服务器 在你进行CGI编程前,确保您的Web服务器支持CGI及已经配置了CGI的处理程序. 所有的HTTP服务器执行CGI程序都保存在一个预先配置的目录.这个目录被称为CGI目录,并按照惯例,它被

将Python脚本文件包装成可执行文件

将Python脚本文件包装成可执行文件,其目的有二: 一则: 不需要依赖Python编译器就可以运行软件 二则: 不想让自己的源码公布出去 常用的工具有: py2exe.cx_freeze等 [工具:py2exe] 安装py2exe 安装该工具很简单: 只需要从官方网站:http://www.py2exe.org/下载与版本对应的安装程序,点击下一步即可完成安装. 安装后,执行import py2exe,不报错则表示安装成功! >>> import py2exe >>>

用 Python 脚本实现对 Linux 服务器的监控

hon 分享到:8 原文出处: 曹江华 目前 Linux 下有一些使用 Python 语言编写的 Linux 系统监控工具 比如 inotify-sync(文件系统安全监控软件).glances(资源监控工具)在实际工作中,Linux 系统管理员可以根据自己使用的服务器的具体情况编写一下简单实用的脚本实现对 Linux 服务器的监控. 本文介绍一下使用 Python 脚本实现对 Linux 服务器 CPU 内存 网络的监控脚本的编写. Python 版本说明 Python 是由 Guido va

Python脚本访问Greenplum数据库安装指导

安装前准备 (1)操作系统(系统上面要安装一些必备的开发工具(比如gcc等)) linux-82:/home/PyODBC # cat/etc/SuSE-release SUSE Linux EnterpriseServer 11 (x86_64) VERSION = 11 PATCHLEVEL = 1 (2)安装所需的软件包 greenplum-connectivity-4.3.0.0-build-2-SuSE10-x86_64.zip --GP官网下载,GP的JDBC和ODBC驱动 pyod

window下编写python脚本在linux下运行出错 usr/bin/python^M: bad interpreter: No such file or directory

今天在windows下使用notepad++写了个python脚本,传到linux服务器执行后提示:-bash: ./logger.py: usr/bin/python^M: bad interpreter: No such file or directory 1.原因分析 这是不同系统编码格式引起的:在windows系统中编辑的logger.py文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息.一般是因为windows行结尾和linux行结尾标识不同造成的,在window中行结

Zabbix3.2邮件告警python脚本

一.概述及环境要求 1.概述 zabbix监控也起到重要作用,以下是使用python脚本发送告警邮件配置方法.之前使用过sendemail邮件报警但是发现邮件主题为中文时候会出现乱码的问题. 2.环境安装要求 Zabbix软件版本:zabbix3.2.6 操作系统:CentOS release 6.8 (Final) 二.脚本创建及测试 1.查看配置zabbix_server.conf ,找到AlertScriptsPath,查看路径位置,如被注释,将注释打开,把send.py 文件保存到该目录