PYTHON--定期監測服務器端口,并將結果寫入MYSQL

定時監測服務器端口,然后將結果入寫數據庫。

監測用NC命令,入庫就用PYTHON的MYSQL模塊

再調一個基于函數的多線程。。。

妥妥的。。

是網上兩個功能的合成。。

?

俺不生產代碼,俺只是BAIDU的搬運工!

?

#!/usr/bin/env python import multiprocessing 
import subprocess 
import MySQLdbhost_list = []
for line in open("/xxx/data_ip_port"):host_list.append(line.strip('\n'))
if len(host_list) > 10: process_number = 10
else: process_number = len(host_list) def insert_mysql(sql_str):try:conn=MySQLdb.connect(host='xxxx',user='xxxx',passwd=xxxxxxx',db='xxxx',port=xxxx)cur=conn.cursor()cur.execute(sql_str)cur.close()conn.commit()conn.close()except MySQLdb.Error,e:print "Mysql Error %d: %s" % (e.args[0], e.args[1])def ping_host(ipaddr): if subprocess.call('nc -vz -w 2 %s > /dev/null' % ipaddr, shell=True) == 0: print '%s is OK' % ipaddrip = ipaddr.split()[0]port = int(ipaddr.split()[1])sqlstr = "INSERT INTO monitor_crawler (ip,port,status) VALUES ('%s',%d,0)" % (ip, port)insert_mysql(sqlstr)else: print '%s is DOWN' % ipaddr ip = ipaddr.split()[0]port = int(ipaddr.split()[1])sqlstr = "INSERT INTO monitor_crawler (ip,port,status) VALUES ('%s',%d,1)" % (ip, port)insert_mysql(sqlstr)pool = multiprocessing.Pool(processes=process_number) 
for ip in host_list: pool.apply_async(ping_host,(ip,)) 
pool.close() 
pool.join()

?

轉載于:https://www.cnblogs.com/aguncn/p/4441847.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/375122.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/375122.shtml
英文地址,請注明出處:http://en.pswp.cn/news/375122.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MS_DOS頭部 IMAGE_DOS_HEADER

MS_DOS頭部 IMAGE_DOS_HEADER STRUCT{00H WORD e_magic ;DOS可執行文件標記字符串MZ(4D 5A)3CH DWORD e_1fanew ;指向PE文件頭} IMAGE_DOS_HEADER ENDS用十六進制編輯器打開一個EXE文件 如QQ.EXEe_magic5A 4D e_1fanew00000100H---->此地址指向PE頭文件

OpenGL C# Generator

https://github.com/nickgravelyn/GL-CS 轉載于:https://www.cnblogs.com/lilei9110/p/4442141.html

PE 頭文件 IMAGE_NT_HEADER

PE Header是PE相關結構NT映像頭IMAGE_NT_HEADER的簡稱PE頭文件開始是一個字符串PE00(50 45 00 00) 由MS_DOS頭部的e_1fanew字段指向IMAGE_NT_HEADERS STRUCT{00H DWORD Signature04H IMAGE_FILE_HEADER FileHeader18H IMAGE_OPTIONAL_HEADER32 OptionalHeader}IMAGE_NT…

刪除OD調試記錄

刪除UDD目錄下文件即可

數據存儲的幾種方式

---恢復內容開始--- iOS有四種數據持久化的方式 1.屬性列表(plist文件) 2.對象歸檔(NSKeyedArchiver , NSKeyedUnarchiver) //3.偏好設置(NSUserDefault) 4.SQLite 數據庫…

計算機原理學習(6)-- x86-32 CPU和內存管理之分頁管理

前言 上一篇我們了解了x86-16 CPU計算機的內存訪問方式,尋址方式,以及基于MS-DOS的應用程序的內存布局。這一篇會主要介紹32位處理器的內存訪問,內存管理以及應用程序的內存布局。雖然目前64位CPU已經非常普及了,不過相對于32位的…

ESP定律

當程序載入OD之后 004AC460 > $ 60 pushad;程序停在這里 F8 指向pushad指令 pushad是把寄存器中數據入棧 棧中數據如下&#xff1a; 0012FFA4 7C930208 |EDI <-- ESP指向棧頂 0012FFA8 FFFFFFFF |ESI 0012FFAC 0012FFF0 |EBP 0012FFB0 0012F…

socket通信簡介

前言 我們深諳信息交流的價值&#xff0c;那網絡中進程之間如何通信&#xff0c;如我們每天打開瀏覽器瀏覽網頁時&#xff0c;瀏覽器的進程怎么與web服務器通信的&#xff1f;當你用QQ聊天時&#xff0c;QQ進程怎么與服務器或你好友所在的QQ進程通信&#xff1f;這些都得靠sock…

SQL Server自動化運維系列——關于郵件通知那點事(.Net開發人員的福利)

需求描述 在我們的生產環境中&#xff0c;大部分情況下需要有自己的運維體制&#xff0c;包括自己健康狀態的檢測等。如果發生異常&#xff0c;需要提前預警的&#xff0c;通知形式一般為發郵件告知。 郵件作為一種非常便利的預警實現方式&#xff0c;在及時性和易用性方面也有…

So easy Webservice 1.Socket建設web服務

socket 是用來進行網絡通訊的&#xff0c;簡單來說&#xff0c;遠程機器和本地機器各建一個socket&#xff0c;然后通過該socket進行連接通訊 socket簡單模型圖&#xff1a; socket的原理圖&#xff1a; 代碼實現&#xff1a; 1.創建socket服務端&#xff1a;用于處理客戶端發送…

去除字符串中重復字符

題目 設計算法并寫出代碼移除字符串中重復的字符&#xff0c;不能使用額外的緩存空間。注意&#xff1a; 可以使用額外的一個或兩個變量&#xff0c;但不允許額外再開一個數組拷貝。 進一步地&#xff0c; 為你的程序寫測試用例。 解答 這道題目其實是要你就地(in place)將字符…

MyEclipse 6.5安裝maven插件

MyEclipse 6.5安裝maven插件 原文 http://www.blogjava.net/caojianhua/archive/2013/11/05/406013.html 一、卸載原有maven插件 MyEclipse 6.5集成了Maven插件&#xff0c;不過有不少bug&#xff0c;用習慣了m2eclipse&#xff0c;不想在這上面浪費時間。要安裝m2eclipse&…

兩列右側自適應布局--(來自網易)

<div class"g-bd1 f-cb"><div class"g-sd1"><p>左側定寬</p></div><div class"g-mn1"><div class"g-mn1c"><p>右側自適應</p></div></div> </div> /* 兩列右…

Gradle 筆記

網上有一篇文章說的很明白&#xff0c;圖文來教你在eclipse下用gradle 來打包Androidhttp://blog.csdn.net/x605940745/article/details/41242687 步驟為&#xff1a; 1. Elipse里面導出&#xff0c;Generate Gradle build files 2. 找到生成的gradle文件夾&#xff0c;里面有…

sql server 自定義函數的使用

sql server 自定義函數的使用自定義函數 用戶定義自定義函數像內置函數一樣返回標量值&#xff0c;也可以將結果集用表格變量返回 用戶自定義函數的類型: 標量函數:返回一個標量值 表格值函數{內聯表格值函數、多表格值函數}:返回行集&#xff08;即返回多個值&#xff09; 1、…

怎么設置才能讓外網ip可以訪問mysql數據庫[轉]

轉自&#xff1a; http://www.hongyanliren.com/89.html 使用mysql中&#xff0c;很多人都會遇到這樣的問題&#xff1a;在vps服務器或者云服務器上安裝了mysql后&#xff0c;使用其他工具在外網ip之下根本就連接不上mysql&#xff0c;到底是什么原因導致外網ip無法訪問mysql數…

Java 自帶MD5 校驗文件

http://www.iteye.com/topic/1127319 前天第一次發表博客到論壇&#xff0c;關于Java文件監控一文&#xff0c;帖子地址在&#xff1a;http://www.iteye.com/topic/1127281 評論的朋友很多&#xff0c;下載代碼的朋友很不少&#xff0c;感謝在論壇上看我帖子的朋友&#xff0c;…

決策樹資料匯總

2012年8月26日決策樹&#xff08;Decision tree&#xff09;決策樹是以實例為基礎的歸納學習算法。它從一組無次序、無規則的元組中推理出決策樹表示形式的分類規則。它采用自頂向下的遞歸方式&#xff0c;在決策樹的內部結點進行屬性值的比較&#xff0c;并根據不同的屬性值從…

metasploitable2滲透測試

一、系統弱密碼登錄 1、在kali上執行命令行telnet 192.168.26.129 2、Login和password都輸入msfadmin 3、登錄成功&#xff0c;進入系統 4、測試如下&#xff1a; 二、MySQL弱密碼登錄&#xff1a; 1、在kali上執行mysql –h 192.168.26.129 –u root 2、登錄成功&#…

Portainer.io:讓容器管理變得更加直觀

在現代軟件開發和部署中&#xff0c;容器化技術已經變得越來越流行。Docker 是其中一種領先的容器化平臺&#xff0c;而 Portainer.io 則是一個優秀的管理工具&#xff0c;使得 Docker 的使用變得更加簡單和可視化。本文將介紹 Portainer.io 的基本功能和如何在 Docker 上安裝和…