Playbooks I use for my homelab
1# Based on https://github.com/FreeBSDFoundation/blog/blob/main/zfs-log-compression-on-freebsd/zfs_log_compress.yml
2---
3- name: Remove log compression on FreeBSD host, add timestamps to rotated logs
4 hosts: freebsd_servers
5 gather_facts: true
6 become: true
7 tasks:
8 - name: Set compression of /var/log dataset to zstd
9 community.general.zfs:
10 name: zroot/var/log
11 state: present
12 extra_zfs_properties:
13 compression: zstd
14
15 - name: Remove 'J' from the newsyslog.conf file
16 ansible.builtin.replace:
17 path: /etc/newsyslog.conf
18 regexp: "^J|J"
19 replace: ""
20 notify: "Restart newsyslog service"
21
22 - name: Use timestamps instead of numbers for log rotations
23 ansible.builtin.replace:
24 path: /etc/crontab
25 regexp: "newsyslog$"
26 replace: "newsyslog -t DEFAULT"
27 notify: "Restart syslogd service"
28
29 handlers:
30 - name: Restart newsyslog service
31 ansible.builtin.service:
32 name: newsyslog
33 state: restarted
34
35 - name: Restart syslogd service
36 ansible.builtin.service:
37 name: syslogd
38 state: restarted