Linux日志系统-05:案例1-实现临时日志文件滚动分割
生活随笔
收集整理的這篇文章主要介紹了
Linux日志系统-05:案例1-实现临时日志文件滚动分割
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、案例要求:
創(chuàng)建一個日志文件/tmp/test_logrotate.log,然后使用logrotate來管理日志,每天滾動一次,文件大小上限為10M,保留5個日志,舊日志用時間命名。
二、實現(xiàn)步驟
1、創(chuàng)建日志文件
touch /tmp/test_logrotate.log2、創(chuàng)建logrotate子配置文件
vim /etc/logrotate.d/test_logrotate.conf?
/tmp/test_logrotate.log{dailysize 10Mrotate 5dateextcompress }3、測試1
(1)向test_logrotate.log文件中添加小于10M的內容
dd if=/dev/zero of=/tmp/test_logrotate.log bs=9M count=1 ls -lh /tmp/test_logrotate.log?
(2)執(zhí)行任務
logrotate /etc/logrotate.d/test_logrotate.conf ls /tmp/test_logrotate*出現(xiàn)錯誤:文件切割權限問題
[root@192 logrotate.d]# logrotate /etc/logrotate.d/test_logrotate.conf error: skipping "/tmp/test_logrotate.log" because parent directory has insecure permissions (It's world writable or writable by group which is not "root") Set "su" directive in config file to tell logrotate which user/group should be used for rotation.解決方法:
方法一:去掉對應日志父目錄的“w”組權限 ---- g-w
方法二:在對應的logrotate配置文件中添加“su <dir_user> <dir_group>”
采用方法二解決:
再次執(zhí)行下面命令,可知日志文件沒有被分割,因為日志文件大小是9M,不足10M。
logrotate /etc/logrotate.d/test_logrotate.conf ls /tmp/test_logrotate*?
(3)向test_logrotate.log文件中添加大于10M的內容
dd if=/dev/zero of=/tmp/test_logrotate.log bs=11M count=1 ls -lh /tmp/test_logrotate.log?
(4)執(zhí)行任務
logrotate /etc/logrotate.d/test_logrotate.conf ls /tmp/test_logrotate*?4、測試2
(1)在配置文件中添加create參數
PS:create 0664 root root?? #指定滾動后創(chuàng)建的新文件的權限為0644,數組為root,屬組為root(2)執(zhí)行任務
?
PS:執(zhí)行主配置文件也是可以把/tmp/test_logrotate.log分割成功,因為執(zhí)行主配置文件會時會把所有配置文件(主配置文件+子配置文件)的任務都執(zhí)行。
logrotate /etc/logrotate.conf?5、日志文件的滾動方式:手動+自動
(1)手動:自己寫腳本定義周期計劃任務實現(xiàn)滾動
(2)自動:使用系統(tǒng)自定義的周期計劃任務實現(xiàn)滾動
?
?
總結
以上是生活随笔為你收集整理的Linux日志系统-05:案例1-实现临时日志文件滚动分割的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux日志系统-04:logrota
- 下一篇: Linux日志系统-06:案例2-实现h