Linux 系統 logroate日誌管理

来源:https://www.cnblogs.com/waringid/archive/2022/11/02/16849968.html
-Advertisement-
Play Games

前言 上一篇博客給大家介紹了LabVIEW開放神經網路交互工具包【ONNX】,今天我們就一起來看一下如何使用LabVIEW開放神經網路交互工具包實現TensorRT加速YOLOv5。 以下是YOLOv5的相關筆記總結,希望對大家有所幫助。 內容地址鏈接 【YOLOv5】LabVIEW+OpenVIN ...


1.簡介

Logrotate是基於CRON來運行的,其腳本是「/etc/cron.daily/logrotate」

#!/bin/sh

/usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0

實際運行時,Logrotate會調用配置文件「/etc/logrotate.conf」

weekly
rotate 4
create
dateext
compress
include /etc/logrotate.d
/var/log/wtmp {
monthly
create 0664 root utmp
minsize 1M
rotate 1
}

/var/log/btmp {
missingok
monthly
create 0600 root utmp
rotate 1
}

2.日誌切割

2.1.Nginx

/usr/local/openresty/nginx/logs/*.log {
  daily
  rotate 5
  missingok
  dateext
  compress
  notifempty
  sharedscripts
  postrotate
    [ -e /usr/local/openresty/nginx/logs/nginx.pid ] && kill -USR1 `cat /usr/local/openresty/nginx/logs/ngi
nx.pid`
  endscript
}

測試並驗證是否正常

logrotate -f /etc/logrotate.d/nginx
logrotate -d -f /etc/logrotate.d/nginx

2.2.kong

/usr/local/kong/logs/*.log {
    daily
    rotate 5
    missingok
    dateext
    compress
    notifempty
    sharedscripts
    postrotate
        [ -e /usr/local/kong/pids/nginx.pid ] && kill -USR1 `cat /usr/local/kong/pids/nginx.pid`
    endscript
}

2.3.java 日誌

/usr/local/datax-web/log/*.log {
    daily
    rotate 7
    missingok
    dateext
    compress
    notifempty
    copytruncate
}

3.原理說明

3.1.sharedscripts

haredscripts的作用是在所有的日誌文件都輪轉完畢後統一執行一次腳本(匹配*通配符)。如果沒有配置這條指令,那麼每個日誌文件輪轉完畢後都會執行一次腳本。

3.2.日誌時間

Logrotate是基於CRON運行的,所以這個時間是由anacrontab控制的(CentOS 6是crontab),具體可以查詢CRON的配置文件「/etc/crontab」,可以手動改成如23:59等時間
# /etc/anacrontab: configuration file for anacron

# See anacron(8) and anacrontab(5) for details.

SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# the maximal random delay added to the base delay of the jobs
RANDOM_DELAY=45
# the jobs will be started during the following hours only
START_HOURS_RANGE=3-22

#period in days   delay in minutes   job-identifier   command
1       5       cron.daily              nice run-parts /etc/cron.daily
7       25      cron.weekly             nice run-parts /etc/cron.weekly
@monthly 45     cron.monthly            nice run-parts /etc/cron.monthly

 

3.3.功能說明

參數

說明

compress

啟用壓縮,指的是輪替後的舊日誌,預設用的是gzip壓縮

daily

每天輪替

dateext

使用當期日期作為命名格式

dateformat .%s

 配合dateext使用,緊跟在下一行出現,定義文件切割後的文件名,必須配合dateext使用,只支持 %Y %m %d %s 這四個參數

ifempty

即使日誌文件是空的也輪替

mail

將輪替後的文件發送到指定E-mail地址

copytruncate

用於還在打開中的日誌文件,把當前日誌備份並截斷,是先拷貝再清空的方式,拷貝和清空之間有一個時間差,可能會丟失部分日誌數據。

monthly

一個月輪替一次

nocompress

如果在logrotate.conf中啟用了壓縮,這裡是做不用壓縮的參數

nomail

不發送郵件到任何地址

notifempty

如果日誌是空的就不輪替(也就是空日誌不切割)

olddir + 目錄

輪替後日誌文件放入指定的目錄,必須和當前日誌文件在同一個文件系統

rotate +次數

輪替最多保留之前的數據幾次,超出的將被刪除或郵件接收,設為0則不保存

size size

當日誌增長到指定大小的時候開始輪替

weekly

如果當前的星期幾比上次輪替的星期幾少,或者過了一個多星期,就會發生輪替通常是在每周的第一天輪替,如果logrotate不是每天運行的,會在第一次有機會時進行輪替

yearly

如果當前年份不同於上次輪替的年份,則進行日誌輪替

Missingok

如果日誌丟失,不報錯繼續滾動下一個日誌

作者:虛擬的現實
出處:https://waringid.cnblogs.com
如果您覺得閱讀本文對您有幫助,請點擊一下右下方的推薦按鈕,您的推薦將是我寫作的最大動力!
版權聲明:本文為博主原創或轉載文章,歡迎轉載,但轉載文章之後必須在文章頁面明顯位置註明出處,否則保留追究法律責任的權利。
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 為什麼會寫這篇文章?主要是因為項目中的代碼大量使用了帶virtual關鍵字的類,想通過本文淺談一下。virtual並沒有什麼超能力可以化腐朽為神奇,它有其存在的理由,但濫用它是一種非常不可取的錯誤行為。本文將帶你一步一步瞭解virtual機制,為你揭開virtual的神秘面紗。 ...
  • CentOS6.x CentOS6中轉用Upstrat代替以前的init.d/rcX.d的線性啟動方式。 一、相關命令 通過initctl help可以查看相關命令 [root@localhost ~]# initctl help Job commands: start Start job. sto ...
  • 背景 2008 年前後的 Midori 項目試圖構建一個以 .NET 為用戶態基礎的操作系統,在這個項目中有很多讓 CLR 以及 C# 的類型系統向著適合系統編程的方向改進的探索,雖然項目最終沒有面世,但是積累了很多的成果。近些年由於 .NET 團隊在高性能和零開銷設施上的需要,從 2017 年開始 ...
  • 自己寫了一種,速度不是很快,但是能夠實現 var findpic = new FindPic(); var rec = findpic.FindPicture(@"C:\Users\zaranet\Desktop\xiao.png", @"C:\Users\zaranet\Desktop\da.pn ...
  • ###前言 剛接觸XAF的小伙伴可能會有一個疑惑,XAF中有Model(BusinessObject)、View、Controller,感覺明顯是一個MVC的設計模式,但當你用MVC的設計模式與其對應時,又會發現有一些不一樣,可能這時有小伙伴會想會不會是MVC的變體,因為MVC只是一個設計模式,不同 ...
  • 長連接與短連接 所謂長連接,指在一個TCP連接上可以連續發送多個數據包,在TCP連接保持期間,如果沒有數據包發送,需要雙方發檢測包以維持此連接,一般需要自己做線上維持。 短連接是指通信雙方有數據交互時,就建立一個TCP連接,數據發送完成後,則斷開此TCP連接,一般銀行都使用短連接。 比如http的, ...
  • <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-web ...
  • lsof -i tcp:埠號 要殺死進程的話,即:kill -9 pid ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...