1. 代码
import paramiko
def get_server_log():
hostname = ""
port = 22
username = ""
password = ""
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname, port, username, password, compress=True)
sftp_client = client.open_sftp()
remote_file = sftp_client.open("/opt/xxx/logs/error_log")
try:
count = 0
for line in remote_file:
if 'Traceback' in line:
print(line)
count = count + 1
print(count)
finally:
remote_file.close()
if __name__ == "__main__":
get_server_log()
print('****done')
2. 验证Traceback在日志文件出现次数
grep -F "Traceback" -R logs/error_log
3. 普通用户登录时可能报sftp权限错误,可以先给改目录分配用户权限
chown -R username:username logs/error_log