python监控日志并予以清理
来源:互联网 发布:d3.js demo 编辑:程序博客网 时间:2024/05/01 10:59
Daemonize.py
import
os
import
sys
class
Daemonize:
def
daemonize(
self
):
try
:
pid
=
os.fork()
if
pid >
0
:
sys.exit(
0
)
except
OSError,e:
sys.stderr.write(
"Fork 1 has failed --> %d--[%s]\n"
\
%
(e.errno,e.strerror))
sys.exit(
1
)
os.chdir(
'/'
)
#detach from terminal
os.setsid()
#file to be created?
os.umask(
0
)
try
:
pid
=
os.fork()
if
pid >
0
:
print
"Daemon process pid %d"
%
pid
sys.exit(
0
)
except
OSError, e:
sys.stderr.write(
"Fork 2 has failed --> %d--[%s]"
\
%
(e.errno, e.strerror))
sys.exit(
1
)
sys.stdout.flush()
sys.stderr.flush()
def
start_daemon(
self
):
self
.daemonize()
self
.run_daemon()
def
run_daemon(
self
):
'''override'''
pass
watchLog.py
import
os
import
smtplib
from
smtplib
import
SMTPException
import
time
from
Daemonize
import
Daemonize
from
subprocess
import
Popen
LOG_PATH
=
''
LOG_FILENAME
=
''
class
WatchLog(Daemonize):
def
__init__(
self
, file_path, size_limit
=
15728640
):
self
.
file
=
os.path.realpath(file_path)
print
self
.
file
print
'---'
assert
os.path.isfile(
self
.
file
),
'%s does not exist'
%
self
.
file
print
'+++'
self
.smtpserver
=
"path to your host"
self
.recipient_list
=
[
'@gmail.com'
]
self
.sender
=
'@'
self
.file_size_limit
=
size_limit
self
.email_body
=
"path to your email tempalte"
def
send_an_email(
self
):
email_body
=
open
(
self
.email_body,
'r'
).read()
session_obj
=
smtplib.SMTP(
self
.smtpserver)
try
:
session_obj.sendmail(
self
.sender,
self
.recipient_list, email_body)
except
SMTPException:
print
"unable to send emails"
finally
:
session_obj.close()
def
delFile(
self
):
os.chdir(LOG_PATH)
cmd
=
"echo '' > "
+
LOG_FILENAME
try
:
Popen(cmd, shell
=
True
)
except
Exception,e:
print
e
def
watch(
self
):
current_file_size
=
os.path.getsize(
self
.
file
)
if
current_file_size >
self
.file_size_limit:
self
.defFile()
def
run_daemon(
self
):
#override
while
True
:
self
.watch()
time.sleep(
3600
)
if
__name__
=
=
"__main__"
:
watchdog
=
WatchLog(LOG_PATH
+
LOG_FILENAME)
watchdog.start_daemon()
0 0
- python监控日志并予以清理
- python写的日志监控程序,关键字统计,日志大小监控,关键字出现报警并截取日志
- Python监控动态日志
- python 分析监控日志
- linux服务器自动切割并清理日志
- linux服务器自动切割并清理日志
- linux服务器自动切割并清理日志
- 定时清理日志文件-python实现
- Python磁盘监控、日志分析监控脚本
- 部署tomcat暴露html格式日志,并定期清理日志
- python动态监控日志内容
- Java实时监控日志文件并输出
- Java实时监控日志文件并输出
- Java实时监控日志文件并输出
- Java实时监控日志文件并输出
- 日志清理
- SQLSERVER数据库日志文件过大,如何压缩并定期清理 ?
- linux下定时清理并备份当天日志.txt
- UVA - 10382 Watering Grass 贪心+区间覆盖
- 时间对话框的使用和日期对话框的使用
- [leetcode]Word Search
- 状态栏编程(显示系统时间和进度条)
- hdu 4135 容斥原理
- python监控日志并予以清理
- 【POJ】1611 The Suspects
- iOS 图形编程总结
- InputFormat的数据划分、Split调度、数据读取三个问题的浅析
- easyui 获得属性值
- 第五届蓝桥杯软件类省赛真题 Java本科A 斐波那契
- LeetCode Binary Tree Level Order Traversal II
- 汉诺塔
- SCI论文通讯作者需具备的条件