前面寫過bash shell對nginx日誌的切割,現在用python進行其操作。
#!/usr/bin/python
#-*-coding:utf-8-*-
'''created on 2011-11-17
切割nginx的日誌檔案,重新生成乙個log日誌,nginx的程序號不變動
@author: jimingsong
'''import time
import os
path = ['/usr/local/nginx/logs/', 'nginx.pid','access.log']
str = time.strftime('%y%m%d%h%m%s')
tar_conn1 = "cd %s && /bin/mv %s %s && /bin/kill -usr1 `cat %s`" % (path[0],path[2],str,path[1])
tar_conn = "cd %s && /bin/tar czvf %s %s" % (path[0],target,path[2])
if os.system(tar_conn1) == 0:
print '切割成功', str
else:
print 'error,操作失敗'
放在crontab裡面讓其每個月自動執行一次。
python切割nginx日誌指令碼
usr bin env python coding utf 8 python nginx cut log 1 import subprocess def mkdir subprocess.call mkdir pv usr local nginx logs date d yesterday y da...
nginx日誌切割
web 訪問日誌 access log 記錄了所有外部客戶端對web伺服器的訪問行為,包含了客戶端ip,訪問日期,訪問的url資源,伺服器返回的http狀態碼等重要資訊。一條典型的web訪問日誌如下 規劃 1 要解決問題 2 nignx沒有自動分開檔案儲存日誌的機制。由於nginx它不會幫你自動分檔...
nginx 日誌切割
直接在nginx配置檔案中,配置日誌迴圈,而不需使用logrotate或配置cron任務。需要使用到 time iso8601 內嵌變數來獲取時間。time iso8601格式如下 2015 08 07t18 12 02 02 00。然後使用正規表示式來獲取所需時間的資料。使用下面的 塊 1 2 3...