项目过期日志定时清理功能实现方案:Shermie-Log-Manager + crontab

2023-06-01 00:00:00 过期 定时 清理

我这是在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

输出效果:

1.png

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脚本时也需要注意,其中如果有对文件进行操作,也应该使用绝对路径。

相关文章