about summary refs log tree commit diff stats
path: root/tools/logrotate.html
blob: b120741e8b4c05c29096ef6da32b29100d412462 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
<!DOCTYPE html>
<html dir="ltr" lang="en">
    <head>
        <meta charset='utf-8'>
        <title>1. Logrotate</title>
    </head>
    <body>
        <h1 id="logrotate">1. Logrotate</h1>

        <p><a href="https://fedorahosted.org/logrotate/">Logrotate</a>
        allows automatic rotation, compression,
        removal, and  mailing of log files. Each log file may
        be handled daily, weekly, monthly, or when it grows
        too large. I have used Mikhail Kolesnik from openbunker,
        use syslog-ng as example how to create package from now on.</p>

        <pre>
        $ sudo prt-get depinst logrotate
        $ sudo vim /etc/logrotate.conf
        </pre>

        <pre>
        IMPORTANTE

        Preciso por o logrotate a comprimir apenas depois do
        segundo ciclo para o samhain ficar feliz.

        Thus log rotation will be handled gracefully as long
            as the inode is kept (i.e. the old file is moved rather than copied)
            and the first rotated file is not compressed (the logrotate tool can
            be told to compress only after the second cycle, and on Debian this
            seems to be standard anyway).
        </pre>

        <pre>
        # see "man logrotate" for details
        # rotate log files weekly
        weekly

        # keep 5 weeks worth of backlogs
        rotate 5 

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

        # uncomment this if you want your log files compressed
        compress

        olddir /var/log/old

        notifempty

        # some packages can drop log rotation information into 
        # this directory
        include /etc/logrotate.d

        # few generic files to rotate
        /var/log/wtmp {
            weekly
            create 0644 root root
            rotate 5
        }

        /var/log/btmp {
            weekly
            create 0600 root root
            rotate 5
        }

        # system-specific logs may be also be configured here.
        /var/log/faillog {
            maxsize 5M
        }

        /var/log/lastlog {
            maxsize 5M
        }

        /var/log/auth {
            weekly
            create 0644 root root
            rotate 5
            sharedscripts
            postrotate
            if [ -f /var/run/syslog-ng.pid ]; then \
                kill -HUP `cat /var/run/syslog-ng.pid`; \
            fi;
            endscript
        }

        /var/log/cron {
            weekly
            create 0644 root root
            rotate 5
            sharedscripts
            postrotate
            if [ -f /var/run/syslog-ng.pid ]; then \
                kill -HUP `cat /var/run/syslog-ng.pid`; \
            fi;
            endscript
        }

        /var/log/debug {
            weekly
            create 0644 root root
            rotate 5
            sharedscripts
            postrotate
            if [ -f /var/run/syslog-ng.pid ]; then \
                kill -HUP `cat /var/run/syslog-ng.pid`; \
            fi;
            endscript
        }

        /var/log/kernel {
            rotate 5
            monthly
            create 0644 root root
            sharedscripts
            postrotate
            if [ -f /var/run/syslog-ng.pid ]; then \
                kill -HUP `cat /var/run/syslog-ng.pid`; \
            fi;
            endscript
        }

        /var/log/messages {
            rotate 5
            weekly
            create 0644 root root
            sharedscripts
            postrotate
            if [ -f /var/run/syslog-ng.pid ]; then \
                kill -HUP `cat /var/run/syslog-ng.pid`; \
            fi;
            endscript
        }

        /var/log/mail {
            weekly
            create 0644 root root
            rotate 5
            sharedscripts
            postrotate
            if [ -f /var/run/syslog-ng.pid ]; then \
                kill -HUP `cat /var/run/syslog-ng.pid`; \
            fi;
            endscript
        }
        </pre>

        <p>You can force logrotate to test configuration;</p>

        <pre>
        # logrotate -f /etc/logrotate.conf
        </pre>

        <p>This is part of the Hive System Documentation.
Copyright (C) 2018 
Hive Team.
See the file <a href="fdl-1.3-standalone.html">Gnu Free Documentation License</a>
for copying conditions.</p>

    </body>
</html>