Filip Pytloun | d5d7cc4 | 2016-05-16 10:56:18 +0200 | [diff] [blame] | 1 | ====================== |
| 2 | Salt Logrotate Formula |
| 3 | ====================== |
| 4 | |
| 5 | Logrotate is designed to ease administration of systems that generate |
| 6 | large numbers of log files. It allows automatic rotation, compression, |
| 7 | removal, and mailing of log files. Each log file may be handled daily, |
| 8 | weekly, monthly, or when it grows too large. |
| 9 | |
| 10 | Example pillar |
| 11 | ============== |
| 12 | |
| 13 | Configuration for syslog from Ubuntu 14.04 (trusty): |
| 14 | |
Filip Pytloun | df5dc31 | 2016-05-16 11:46:06 +0200 | [diff] [blame] | 15 | .. code-block:: yaml |
| 16 | |
| 17 | logrotate: |
| 18 | server: |
| 19 | enabled: true |
| 20 | job: |
| 21 | rsyslog: |
| 22 | - files: |
| 23 | - /var/log/mail.info |
| 24 | - /var/log/mail.warn |
| 25 | - /var/log/mail.err |
| 26 | - /var/log/mail.log |
| 27 | - /var/log/daemon.log |
| 28 | - /var/log/kern.log |
| 29 | - /var/log/auth.log |
| 30 | - /var/log/user.log |
| 31 | - /var/log/lpr.log |
| 32 | - /var/log/cron.log |
| 33 | - /var/log/debug |
| 34 | - /var/log/messages |
| 35 | options: |
| 36 | - rotate: 4 |
| 37 | - weekly |
| 38 | - missingok |
| 39 | - notifempty |
| 40 | - compress |
| 41 | - delaycompress |
| 42 | - sharedscripts |
| 43 | - postrotate: "reload rsyslog >/dev/null 2>&1 || true" |
| 44 | - files: |
| 45 | - /var/log/syslog |
| 46 | options: |
| 47 | - rotate: 7 |
| 48 | - daily |
| 49 | - missingok |
| 50 | - notifempty |
| 51 | - delaycompress |
| 52 | - compress |
| 53 | - postrotate: "reload rsyslog >/dev/null 2>&1 || true" |
Filip Pytloun | d5d7cc4 | 2016-05-16 10:56:18 +0200 | [diff] [blame] | 54 | |
car-da | 682f004 | 2018-01-04 11:34:47 +0100 | [diff] [blame] | 55 | Change parameters in main logrotate.conf file: |
| 56 | |
| 57 | .. code-block:: yaml |
| 58 | |
| 59 | logrotate: |
| 60 | server: |
| 61 | enabled: true |
| 62 | global_conf: |
| 63 | compress: true |
| 64 | rotate: daily |
| 65 | keep_rotate: 6 |
| 66 | dateext: true |
| 67 | |
Filip Pytloun | 563a9d2 | 2017-06-23 15:22:37 +0200 | [diff] [blame] | 68 | Cross-formula relationship |
| 69 | ========================== |
| 70 | |
| 71 | It's possible to use support meta to define logrotate rules from within other |
| 72 | formula. |
| 73 | |
| 74 | Example ``meta/logrotate.yml`` for horizon formula: |
| 75 | |
| 76 | .. code-block:: yaml |
| 77 | |
| 78 | job: |
| 79 | horizon: |
| 80 | - files: |
| 81 | - /var/log/horizon/*.log |
| 82 | options: |
| 83 | - compress |
| 84 | - delaycompress |
| 85 | - missingok |
| 86 | - notifempty |
| 87 | - rotate: 10 |
| 88 | - daily |
| 89 | - minsize: 20M |
| 90 | - maxsize: 500M |
| 91 | - postrotate: "if /etc/init.d/apache2 status > /dev/null; then /etc/init.d/apache2 reload > /dev/null; fi" |
| 92 | |
Filip Pytloun | d5d7cc4 | 2016-05-16 10:56:18 +0200 | [diff] [blame] | 93 | Reference |
| 94 | ========= |
| 95 | |
| 96 | - http://www.linuxcommand.org/man_pages/logrotate8.html |