python 실시간 서버 로그 보기
import paramiko
from paramiko_expect import SSHClientInteraction
host = your host
port = your port
username = your un
#
json_list = []
def output_func(msg):
sys.stdout.write(msg)
json_list.append(msg)
sys.stdout.flush()
def conn_tail(path):
try:
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy)
key_file = 'id_rsa_2048'
key = paramiko.RSAKey.from_private_key_file(key_file, 'yourpwd')
client.connect(host, port, username, key_filename=key_file)
interact = SSHClientInteraction(client, timeout=10, display=False)
interact.send('sudo su
')
interact.expect(prompt)
interact.send('tail -f %s' % path)
# log_name = path.split('/')[-1].split('.')[0]
# interact.tail(line_prefix=log_name + ': ',output_callback=output_func)
interact.tail( output_callback=output_func)
1. 파라미코를 사용했습니다_expect 모듈, 설치 방식
# from pypi
pip install paramiko-expect
# from source
pip install git+https://github.com/fgimian/paramiko-expect.git
2. id_ 사용rsa 키 로그인
3. 회사 서버가 계정을 전환해야 하기 때문에 sudoxxx를 먼저 실행해야 한다
4. tail 몇 개의 로그가 동시에 필요하면 다중 스레드를 열 수 있습니다
5. 간단한 컨트롤러가 아닌 서버의 로그를 직접 처리해야 한다면 output_callback 함수
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.