随心一记

一二三四五,上山打老鼠


  • 首页

  • 归档

  • 标签
ywcsb

ywcsb

游戏可以不玩,小说不能不看。

153 日志
3 分类
42 标签
RSS
GitHub 知乎 随心一记
Links
  • 随心一记
  • 追梦人物的
  • MSDN

使用Python3对Nginx日志进行分割

发表于 2019-01-26 | 阅读 784 | 分类于 Python |
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
-------------------------------------------------
   File Name:     nginx_log.py
   Author :       lihuabing
   date:          2018/11/1
-------------------------------------------------
   Change Activity:
                   2018/11/1:
-------------------------------------------------
"""
__author__ = 'lihuabing'


import os


def remove(pat):    # pat:写入查询目录
    import datetime
    import time
    f = list(os.listdir(pat))
    for i in f:
        a = "%s/%s" % (pat, i)
        filedate = os.stat(a).st_mtime
        datetime.datetime.fromtimestamp(filedate).strftime('%Y-%m-%d')
        date1 = time.time()
        num1 = (date1 - filedate)/60/60/24
        if num1 > 365:
            os.remove(a)


def patt():
    access = "access.json"
    access_time = "%s-%s.gz" % (access, tem())
    return access, access_time


def tem():
    import time
    data = time.strftime("%Y%m%d")
    return data


def if_exists(pat):
    if os.path.exists(pat):
        return 0
    else:
        return 1


def zipFile(files, zip_file):
    import zipfile
    zp = zipfile.ZipFile(zip_file, 'w', zipfile.ZIP_DEFLATED)
    zp.write(files)
    zp.close()


def root():
    pat = "/var/log/nginx"
    patt1 = patt()
    os.chdir(pat)
    if if_exists(patt1[1]) == 1:
        zipFile('%s/%s' % (pat, patt1[0]), '%s/%s' % (pat, patt1[1]))
        # os.system("zip %s %s" % (patt1[1], patt1[0]))
        os.remove(patt1[0])
        os.system("/bin/kill -USR1 `cat /run/nginx.pid 2>/dev/null` 2>/dev/null || true")
        os.chown(patt1[0], 995, 993)
        os.chown(patt1[1], 995, 993)
        remove(pat)


if __name__ == '__main__':
    root()

然后写入定时计划任务,每天23:58执行脚本

vim /etc/crontab
58 23 * * * root /usr/bin/python3 /tem/nginx_log.py

写的不好,还请各位多多指定

觉得不错,支持一下!
geerniya WeChat Pay

微信打赏

geerniya Alipay

支付宝打赏

# Python # 脚本 # 定时任务
Ngin日志格式
Python3删除30天之前的文件

发表评论

共 0 条评论

    暂无评论
© 2018 - 2022 ywcsb
冀ICP备17022045号-1
Supported by 腾讯云