From d8e4efe7cc5673be062883464904dc28736c68aa Mon Sep 17 00:00:00 2001 From: guanghongwei Date: Thu, 6 Nov 2014 18:48:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20=E6=89=B9=E9=87=8F?= =?UTF-8?q?=E5=91=BD=E4=BB=A4=E8=AE=B0=E5=BD=95=E6=97=A5=E5=BF=97=EF=BC=8C?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E4=B8=8B=E8=BD=BD=E8=AE=B0=E5=BD=95=E6=97=A5?= =?UTF-8?q?=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jumpserver.py | 4 ++-- webroot/AutoSa/AutoSa/views.py | 18 +++++++++++++++++- webroot/AutoSa/templates/logView.html | 7 ++++--- 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/jumpserver.py b/jumpserver.py index f7b647d1b..f942d2a7f 100755 --- a/jumpserver.py +++ b/jumpserver.py @@ -248,8 +248,8 @@ def exec_cmd_servers(username): cmd = raw_input('\033[1;32mCmd(s): \033[0m') if cmd in ['q', 'Q']: break - if not os.path.isdir(): - exec_log_dir = os.path.join(log_dir, 'exec_cmds') + exec_log_dir = os.path.join(log_dir, 'exec_cmds') + if not os.path.isdir(exec_log_dir): os.mkdir(exec_log_dir, 0777) filename = "%s/%s.log" % (exec_log_dir, time.strftime('%Y%m%d')) f = open(filename, 'a') diff --git a/webroot/AutoSa/AutoSa/views.py b/webroot/AutoSa/AutoSa/views.py index bff9ead47..95f847518 100644 --- a/webroot/AutoSa/AutoSa/views.py +++ b/webroot/AutoSa/AutoSa/views.py @@ -34,6 +34,7 @@ ldap_host = cf.get('jumpserver', 'ldap_host') ldap_base_dn = cf.get('jumpserver', 'ldap_base_dn') admin_cn = cf.get('jumpserver', 'admin_cn') admin_pass = cf.get('jumpserver', 'admin_pass') +log_dir = os.path.join(CONF_DIR, 'logs') def keygen(num): @@ -915,6 +916,14 @@ def upFile(request): sftp = paramiko.SFTPClient.from_transport(t) sftp.put(filename, '%s/%s' % (path, upload_file.name)) msg = u'上传成功,位于 %s主机,位置 %s.' % (host, path) + uplog_dir = os.path.join(log_dir, 'upload') + if not os.path.isdir(uplog_dir): + os.mkdir(uplog_dir) + filename = os.path.join(uplog_dir, time.strftime('%Y%m%d')) + f = open(filename, 'a') + f.write('DateTime: %s User: %s Host: %s File: %s' % + (time.strftime('%Y/%m/%d %H:%M:%S'), username, host, path)) + f.close() return render_to_response('info.html', {'msg': msg}) else: @@ -944,8 +953,15 @@ def downFile(request): sftp = paramiko.SFTPClient.from_transport(t) sftp.get(path, download_file) if os.path.isfile(download_file): + downlog_dir = os.path.join(log_dir, 'download') + if not os.path.isdir(downlog_dir): + os.mkdir(downlog_dir) + filename = os.path.join(downlog_dir, time.strftime('%Y%m%d')) + f = open(filename, 'a') + f.write('DateTime: %s User: %s Host: %s File: %s' % + (time.strftime('%Y/%m/%d %H:%M:%S'), username, host, path)) + f.close() wrapper = FileWrapper(open(download_file)) - response = HttpResponse(wrapper, mimetype='application/octet-stream') response['Content-Disposition'] = 'attachment; filename=%s' % os.path.basename(path) return response diff --git a/webroot/AutoSa/templates/logView.html b/webroot/AutoSa/templates/logView.html index 51271d7cc..109441073 100644 --- a/webroot/AutoSa/templates/logView.html +++ b/webroot/AutoSa/templates/logView.html @@ -6,7 +6,7 @@ - + @@ -19,12 +19,13 @@ {% for log in logs.object_list %} - + + {% if log.finish %} - + {% else %}
id 用户名 主机 监控
{{ log.id }} {{ log.user }} {{ log.host }}监控命令统计统计 阻断监控