日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

如何使用系统自带的日志转储功能logroate.存放应用日志

發布時間:2023/12/9 windows 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何使用系统自带的日志转储功能logroate.存放应用日志 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Linux日志服務介紹

1. 在Linux系統,大部分日志都是由syslog日志服務驅動和管理的
syslog服務由兩個重要的配置文件控制管理,分別是/etc/syslog.conf主配置文件和/etc/sysconfig/syslog輔助

  配置文件, /etc/init.d/syslog是啟動腳本,這里主講主配置文件/etc/syslog.conf:

  /etc/syslog.conf 語句結構:

  [root@xhot ~]# grep -v "#" /etc/syslog.conf //列出非#打頭的每一行

  *.info;mail.none;authpriv.none;cron.none /var/log/messages

  authpriv.* /var/log/secure

  mail.* -/var/log/maillog

  cron.* /var/log/cron

  .emerg

  uucp,news.crit /var/log/spooler

  local7.* /var/log/boot.log

  選擇域(消息類型.錯誤級別) 動作域

2. 消息類型:auth,authpriv,security;cron,daemon,kern,lpr,mail, mark,news,syslog,user,uucp,local0~local7.

  錯誤級別:(8級)debug,info,notice,warning|warn;err|error;crit,alert,emerg|panic

  動作域:file,user,console,@remote_ip

  舉如上的/etc/syslog.conf文件三個例子:

  *.info;mail.none;authpriv.none;cron.none /var/log/messages

  表示info級別的任何消息都發送到/var/log/messages日志文件,但郵件系統、驗證系統

  和計劃任務的錯誤級別信息就除外,不發送(none表示禁止)

  cron.* /var/log/cron 表示所有級別的cron信息發到/var/log/cron文件

  .emerg?表示emerg錯誤級別(危險狀態)的所有消息類型發給所有用戶

Linux日志服務器配置

  此服務器的配置非常簡單,只是修改一個文件的一個地方,然后重啟服務即可:

  [root@xhot ~]# grep -v "#" /etc/sysconfig/syslog

  SYSLOGD_OPTIONS="-m 0 -r" //只要在這里添加“-r”就行咯

  KLOGD_OPTIONS="-x"

  SYSLOG_UMASK=077

  [root@xhot ~]# service syslog restart

  關閉內核日志記錄器: [確定]

  關閉系統日志記錄器: [確定]

  啟動系統日志記錄器: [確定]

  啟動內核日志記錄器: [確定]

對于發送消息到服務器的OS,只要在寫/etc/syslog.conf主配置文件的時候,作用域

  為@server-ip就行了,比如針對218.192.87.24這臺日志服務器,把一臺ubuntu系統的所有

  info級別的auth信息發給日志服務器,那么對于ubuntu系統的/etc/syslog.conf文件最后一

  行添加 auth.info @218.192.87.24 就OK了

日志轉儲服務

  系統工作到了一定時間后,日志文件的內容隨著時間和訪問量的增加而越來越多,

  日志文件也越來越大。而且當日志文件超過系統控制范圍時候,還會對系統性能

  造成影響。轉儲方式可以設為每年轉儲、每月轉儲、每周轉儲、達到一定大小轉儲。

  在Linux系統,經常使用“logrotate”工具進行日志轉儲,結合cron計劃任務,可以輕松

  實現日志文件的轉儲。轉儲方式的設置由“/etc/logrotate.conf”配置文件控制:

  [root@xhot ~]# cat /etc/logrotate.conf

  # see "man logrotate" for details //可以查看幫助文檔

  # rotate log files weekly

  weekly //設置每周轉儲

  # keep 4 weeks worth of backlogs

  rotate 4 //最多轉儲4次

  # create new (empty) log files after rotating old ones

  create //當轉儲后文件不存儲時創建它

  # uncomment this if you want your log files compressed

  #compress //以壓縮方式轉儲

  # RPM packages drop log rotation information into this directory

  include /etc/logrotate.d //其他日志文件的轉儲方式,包含在該目錄下

  # no packages own wtmp -- we'll rotate them here

  /var/log/wtmp { //設置/var/log/wtmp日志文件的轉儲參數

  monthly //每月轉儲

  create 0664 root utmp //轉儲后文件不存在時創建它,文件所有者為root,

  所屬組為utmp,對應的權限為0664

  rotate 1 //轉儲一次

  }

  # system-specific logs may be also be configured here.

舉兩個例子:?
為/var/log/news/目錄下的所有文件設置轉儲參數,每周轉儲,轉儲2次,轉儲

時將老的日志文件放到/var/log/news/old目錄下,若日志文件不存在,則跳過。完成后重啟

news新聞組服務,轉儲時不壓縮。那么可以在/etc/logrotate.conf文件的最后添加如下:

  /var/log/news/*{

  monthly

  rotate 2

  olddir /var/log/news/old

  missingok

  postrotate

  kill -HUP?cat /var/run/inn.pid

  endscript

  nocompress

  }

另一個例子:為/var/log/httpd/access.log和/var/log/httpd/error.log日志設置轉儲參數。轉儲

  5次,轉儲時發送郵件給root@localhost用戶,當日志文件達到100KB時才轉儲,轉儲后重啟

  httpd服務,那么可以直接在/etc/logrotate.conf文件的最后添加如下:

  /var/log/httpd/access.log /var/log/http/error.log{

  rotate 5

  mail root@localhost

  size=100k

  sharedscripts

  /sbin/killall -HUP httpd

  endscript

  }

自定義日志轉儲(/etc/logrotate.d/*)

  通過下面一個例子將所有類型錯誤級別為info的日志轉儲到/var/log/test.log日志文件中,并設置

  /var/log/test.log達到50KB后進行轉儲,轉儲10次,轉儲時壓縮,轉儲后重啟syslog服務:

  1、修改/etc/syslog.conf文件使得如下:

  [root@xhot ~]# tail -1 /etc/syslog.conf //查看該文件的最后一行

  *.info /var/log/test.log

  2、重啟syslog服務:

[root@xhot ~]# /sbin/service syslog restart

  關閉內核日志記錄器: [確定]

  關閉系統日志記錄器: [確定]

  啟動系統日志記錄器: [確定]

  啟動內核日志記錄器: [確定]

  3、創建/etc/logrotate.d/test.log日志轉儲參數配置文件,添加如下:

[root@xhot ~]# vim /etc/logrotate.d/test.log

  [root@xhot ~]# cat /etc/logrotate.d/test.log

  /var/log/test.log{

  rotate 10

  size = 50k

  compress

  postrotate

  killall -HUP syslog

  endscript

  }

  4、查看文件/etc/cron.daily/logrotate確保如下:

  [root@xhot ~]# cat /etc/cron.daily/logrotate

  #!/bin/sh

  /usr/sbin/logrotate /etc/logrotate.conf

  EXITVALUE=$?

  if [ $EXITVALUE != 0 ]; then

  /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"

  fi

  exit 0

  5、查看轉儲后的文件

[root@xhot log]# pwd

  /var/log

  [root@xhot log]# ls test.log*

  …… //結果等要轉儲的時候會發現壓縮文件和原本的test.log文件

syslog是一個被UNIX和Linux廣泛使用的日志系統,Linux系統中大部分的日志文件都是通過它進行管理的。本節將對syslog的功能及配置、日志文件的查看和管理,以及syslog中默認配置的日志文件進行介紹。

12.2.1 syslog簡介

syslog是一個歷史悠久的日志系統,幾乎所有的UNIX和Linux操作系統都是采用syslog進行系統日志的管理和配置。Linux系統內核和許多程序會產生各種錯誤信息、警告信息和其他的提示信息。這些信息對管理員了解系統的運行狀態是非常有用的,所以應該把它們寫到日志文件中去。而執行這個過程的程序就是syslog。syslog可以根據信息的來源以及信息的重要程度將信息保存到不同的日志文件中,例如,為了方便查閱,可以把內核信息與其他信息分開,單獨保存到一個獨立的日志文件中。在默認的syslog配置下,日志文件通常都保存在“/var/log”目錄下。syslog的守護進程為syslogd,系統啟動時,默認會自動運行syslogd守護進程。

如果要手工啟動,可以使用如下命令:

/sbin/syslogd

在修改syslog配置后,需要重新啟動syslogd守護進程才能使新的配置生效。其命令如下所示。

killall -HUP syslogd

Red Hat Enterprise Linux 5.2安裝后默認就已經在syslog中定義了一些日志文件,這些日志的位置以及它們的說明如表12.2所示。

日 志 文 件

說明

/var/log/message

系統啟動后的信息和錯誤日志,是Red Hat Linux中最常用的日志之一

/var/log/secure

與安全相關的日志信息

/var/log/maillog

與郵件相關的日志信息

/var/log/cron

與定時任務相關的日志信息

/var/log/spooler

與UUCP和news設備相關的日志信息

/var/log/boot.log

守護進程啟動和停止相關的日志消息




本文轉自 yuri_cto 51CTO博客,原文鏈接:http://blog.51cto.com/laobaiv1/2052127,如需轉載請自行聯系原作者

總結

以上是生活随笔為你收集整理的如何使用系统自带的日志转储功能logroate.存放应用日志的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。