系統(tǒng)之家 - 系統(tǒng)光盤下載網(wǎng)站!

當前位置:系統(tǒng)之家 > 系統(tǒng)教程 > Linux中Logrotate用法

Linux系統(tǒng)中Logrotate工具用法匯總

時間:2015-02-10 17:51:06 作者:qipeng 來源:系統(tǒng)之家 1. 掃描二維碼隨時看資訊 2. 請使用手機瀏覽器訪問: https://m.xitongzhijia.net/xtjc/20150210/37968.html 手機查看 評論

  Linux系統(tǒng)操作中,Logrotate是一款日志管理工具,可對Linux日志進行處理,在使用前,需要對Logrotate工具進行配置,下面小編就給大家介紹下Linux中Logrotate工具的用法,一起來了解下吧。

 Linux系統(tǒng)中Logrotate工具用法匯總

  1運行原理

  Logrotate是基于CRON來運行的,其腳本是/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

  /etc/cron.daily目錄所有腳本運行頻率是由CRON通過/etc/crontab控制,

  有兩種運行方式: 1 直接執(zhí)行單個命令; 2 目錄規(guī)劃,下面僅列舉目錄規(guī)劃配置

  SHELL=/bin/bash

  PATH=/sbin:/bin:/usr/sbin:/usr/bin

  MAILTO=root

  HOME=/

  # run-parts

  */1 * * * * root run-parts /etc/cron.min

  01 * * * * root run-parts /etc/cron.hourly

  59 23 * * * root run-parts /etc/cron.daily

  22 4 * * 0 root run-parts /etc/cron.weekly

  42 4 1 * * root run-parts /etc/cron.monthly

  2配置文件

  /etc/logrotate.conf 全局默認文件

  /etc/logrotate.d/ 目錄,下屬文件通過include納入前者

  常用選項

  weekly 《==默認一周執(zhí)行一次 rotate 工作

  rotate 4 《==保留多少個日志文件。默認保留四個。

  create 《==創(chuàng)建新的文件。因為日志被改名,因此要創(chuàng)建一個新的來繼續(xù)存儲之前的日志

  dateext 《==文件后綴是日期格式,也就是切割后文件是:xxx.log-20131216,如果注釋掉,切割出來是按數(shù)字遞增,即前面說的 xxx.log-1

  compress 《==是否壓縮日志。

  include /etc/logrotate.d # 將 /etc/logrotate.d/ 目錄中的所有文件都加載進來

  /var/log/wtmp { 《==僅針對 /var/log/wtmp 所設(shè)定的參數(shù)

  monthly 《==每月一次切割,取代默認的一周

  minsize 1M 《==文件大小超過 1M 后才會切割

  create 0664 root utmp 《==指定新建的日志文件權(quán)限以及所屬用戶和組

  rotate 1 《==只保留一個日志。

  }

  通過include加載的文件示例如下

 。踨oot@www ~]# vi /etc/logrotate.d/syslog

  /var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron

  {

  sharedscripts

  prerotate

  /usr/bin/chattr -a /var/log/messages

  endscript

  sharedscripts

  postrotate

  /bin/kill -HUP `cat /var/run/syslogd.pid 2》 /dev/null` 2》 /dev/null || true

  /bin/kill -HUP `cat /var/run/rsyslogd.pid 2》 /dev/null` 2》 /dev/null || true

  /usr/bin/chattr +a /var/log/messages

  endscript

  }

  日志文件: 被處理的日志絕對路徑。使用空格符分隔多個文件名;

  執(zhí)行腳本:

  可調(diào)用外部指令來進行額外的命令,這個設(shè)定需與 sharedscripts 。。。。 endscript 設(shè)定合用才行。命令介紹:

  prerotate:在啟動 logrotate 之前進行的指令,例如修改文件的屬性等動作;

  postrotate:在做完 logrotate 之后啟動的指令,例如重新啟動 (kill -HUP) 某個服務(wù);

  那么 /etc/logrotate.d/syslog 內(nèi)設(shè)定的六個文件的切割功能就變成了:

  1.該設(shè)定只對 /var/log/ 內(nèi)的 messages, secure, maillog, spooler, boot.log, cron 有效;

  2.日志切割每周一次、保留四個、且切割下來的日志文件不進行壓縮(未更改預設(shè)值);

  3.切割完畢后 (postrotate) 取得 syslog 的 PID 后,以 kill -HUP 重新啟動 syslogd

  切割案例:Nginx

  ============================

  在 /etc/logrotate.d 新建 nginx

  /usr/local/nginx/logs/*.log {

  daily

  rotate 5

  dateext

  compress

  sharedscripts

  postrotate

  if [ -f /usr/local/nginx/logs/nginx.pid ]; then

  kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`

  fi

  endscript

  }

  上面就是Linux中Logrotate工具的用法介紹了,本文介紹了Logrotate工具的運行原理和Logrotate文件的配置,如果你要管理Linux系統(tǒng)日志,可選擇使用Logrotate日志管理工具。

發(fā)表評論

0

沒有更多評論了

評論就這些咯,讓大家也知道你的獨特見解

立即評論

以上留言僅代表用戶個人觀點,不代表系統(tǒng)之家立場

其他版本軟件

熱門教程

人氣教程排行

Linux系統(tǒng)推薦

掃碼關(guān)注
掃碼關(guān)注

掃碼關(guān)注 官方交流群 軟件收錄