Фильтруйте / var / log / messages файл данных с целевой машины по дате и времени

1

Я использую ниже сценарий python для фильтрации данных из файла /var/log/messages целевой машины по дате и времени. Но получение синтаксической ошибки

Я использую python версии 2.7 и не смогу обновить версию python

#!/usr/bin/python

import cgi, cgitb
import os

from subprocess import PIPE, Popen


def cmdline(command):
    process = Popen(
        args=command,
        stdout=PIPE,
        shell=True
    )
    return process.communicate()[0]

out4=cmdline('sshpass -p redhat  ssh  -o ConnectTimeout=6  -o  NumberOfPasswordPrompts=2 -o StrictHostKeyChecking=no -tt [email protected] "echo redhat | sudo -S zless /var/log/messages* | grep \'^Sep  9\' | awk  \' \$3 > "09:30" && \$3 < "23:50" \'  "')

print(out4)

Получение ниже вывода при выполнении этого скрипта

Connection to 192.168.0.50 closed.
awk:  $3 > 09:30 && $3 < 23:50
awk:         ^ syntax error
awk:  $3 > 09:30 && $3 < 23:50
awk:                       ^ syntax error
[sudo] password for ricky:

Кто-нибудь, пожалуйста, помогите мне исправить

Теги:

1 ответ

0
Лучший ответ

Вы попадаете в адский ад из-за нескольких уровней обработки специальных символов, с помощью нескольких оболочек, которые вы используете внутри друг друга.

Вы можете уменьшить свою обреченность, избегая использования shell=True поэтому для нее требуется меньше оболочки:

p = subprocess.run([
    'sshpass', '-p', 'redhat' 
     'ssh',
     '-o', 'ConnectTimeout=6',
     '-o', 'NumberOfPasswordPrompts=2',
     '-o', 'StrictHostKeyChecking=no',
     '-tt', '[email protected]'
     """sudo -S zless /var/log/messages* | grep '^Sep  9' | awk  ' \$3 > "09:30" && \$3 < "23:50" '"""
], input='redhat\n', stdout=subprocess.PIPE)
out4 = p.stdout
  • 0
    Привет, nosklo, Спасибо за твое обновление. Ошибка трассировки (последний вызов был последним): файл "./hello_get.py", строка 19, в <module> p = subprocess.run ([AttributeError: объект 'module' не имеет атрибута 'бегать'
  • 0
    subprocess.run был добавлен на python 3.5 @SatwikMukherjee обновите ваш питон
Показать ещё 10 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню