Зная, работает ли мой сервер или нет, используя ping., - PullRequest
0 голосов
/ 07 октября 2018

Спасибо всем за ваше время.

Я пытаюсь узнать, работают ли несколько серверов с помощью ping или нет, и это работает.,,но когда я пытаюсь преобразовать результат в повышение или понижение, что-то не так и всегда падает.

Не знаю, что еще я должен попробовать, больше ничего не нужно, просто вверхили вниз и IP.

import os
import datetime
import platform
import subprocess
import string

date = datetime.datetime.now()
day = date.day
hour = date.hour

def writedoc ():
    os.chdir ('Path')
    wresult = open ("pingresults_{}_{}.txt".format(day,hour), 'a')
    wresult.write ('{}-{}\n'.format(ips, rping))
    wresult.close ()

os.chdir ('Path')
openips = open ("ips.txt","r")
ipfile = openips.readlines()

for ips in ipfile:
    ips = ips.strip()
    print (ips)
    args = ["ping", "-n", "4", "-l", "1", "-w", "1000", ips]
    pping = subprocess.Popen(args, stdout = subprocess.PIPE, stderr = subprocess.PIPE)
    rping = pping.stdout
    for line in rping:
        print (line)
    if (rping.find("(100% perdidos)" != -1)):
        result = "down"
        print (result)
    else:
        result = "up"
        print (result)
    writedoc()

1 Ответ

0 голосов
/ 07 октября 2018
if (rping.find("(100% perdidos)" != -1)) 

Должно ли это быть

if (rping.find("(100% perdidos)") != -1)

Так что это проверяет, что rping.find("(100% perdidos)") не возвращает - 1.

В вашем примере вы фактически называете rping.find(True) как

"(100% perdidos)" не равно - 1.

...