项目过期日志定时清理功能实现方案:Shermie-Log-Manager + crontab
我这是在centos7系统中使用Shermie-Log-Manager + crontab 实现过期日志文件定时清理功能
Shermie-Log-Manager:
这是一个过期日志文件清理工具
git:
https://github.com/kxg3030/shermie-log-manager
crontab:这个就不用多说了是计划任务调度工具
话不多说直接进行安装使用步骤
安装使用Shermie-Log-Manager
安装依赖
pip install -r requirements.txt
配置文件,所有配置在config.yaml中修改
# 应用日志目录列表
application:
- name: '财务中心'
path: 'D:\finance\runtime\logs'
- name: '订单中心'
path: 'D:\order\runtime\logs'
- name: '用户中心'
path: 'D:\user\runtime\logs'
- name: '商品中心'
path: 'D:\goods\runtime\logs'
# 删除10天前的文件
deadtime:
10
# 日志后缀
extension:
'.log'
# 文件大小
file-size:
0
启动项目
python Main.py
输出效果:
ps:
Shermie-Log-Manager是一个独立运行项目,配合系统定时任务使用应该是最佳实践
配合crontab使用
配置定时执行python脚本
由于是需要定时执行python脚本,所以应该使用如下命令:
python Main.py
但是非常重要的一点是要用绝对路径写到命令,否则定时运行失败。
因此我们需要先弄清楚python的具体路径。
我们在服务器上有python2和python3两个版本,通过如下命令来查看其安装路径。
# which python //查看系统默认安装的python2的路径
/usr/bin/python
# which python3 //查看自行安装的python3的路径
/usr/bin/python3
用如下命令查看当前系统中的定时任务列表
crontab -l
对crontab进行编辑
crontab -e
在其中增加如下的内容(每周日执行py脚本),注意python的版本用到了3
* * * * 0 /usr/bin/python3 /usr/local/delogs/Main.py
完成后,可以重启一下crontab的服务即可。
service crond restart
ps:
我们在编写py脚本时也需要注意,其中如果有对文件进行操作,也应该使用绝对路径。
相关文章