NgixProxy_Pathfinder/scripts/fetch_logs.py

45 lines
1.5 KiB
Python

import paramiko
import os
import time
SERVER_HOST = "172.17.0.253"
SERVER_USER = "itguys"
PASSWORD = "vR7Ag$Pk"
def fetch_log(remote_path, local_path):
print(f"[*] Fetching {remote_path} -> {local_path}")
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try:
client.connect(SERVER_HOST, username=SERVER_USER, password=PASSWORD)
# Usando sudo cat para garantir acesso
stdin, stdout, stderr = client.exec_command(f"echo '{PASSWORD}' | sudo -S tail -n 50 {remote_path}", get_pty=False)
# Captura a saída
content = stdout.read().decode('utf-8')
err = stderr.read().decode('utf-8')
if content:
with open(local_path, 'w', encoding='utf-8') as f:
f.write(content)
print(f" [OK] Salvo em {local_path}")
else:
print(f" [!] Nenhum conteúdo ou erro: {err}")
client.close()
except Exception as e:
print(f" [!] Erro: {e}")
if __name__ == "__main__":
if not os.path.exists("logs"):
os.makedirs("logs")
fetch_log("/etc/nginx/nginx.conf", "logs/remote_nginx.conf")
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(SERVER_HOST, username=SERVER_USER, password=PASSWORD)
fetch_log("/var/log/nginx/ferreirareal.com.br.access.log", "logs/ferreirareal.access.log")
fetch_log("/var/log/nginx/access.log", "logs/global.access.log")