67 lines
1.7 KiB
YAML
67 lines
1.7 KiB
YAML
- name: Install snapper
|
|
community.general.xbps:
|
|
name:
|
|
- snapper
|
|
state: present
|
|
|
|
# https://wiki.archlinux.org/title/Snapper#updatedb
|
|
- name: Disable updatedb indexing for snapshot directories
|
|
ansible.builtin.copy:
|
|
content: 'PRUNENAMES = ".snapshots"'
|
|
dest: "/etc/updatedb.conf"
|
|
owner: root
|
|
group: root
|
|
mode: 0644
|
|
force: true
|
|
|
|
- name: Ensure snapper configs directory exists
|
|
ansible.builtin.file:
|
|
dest: "/etc/snapper/configs"
|
|
state: directory
|
|
recurse: true
|
|
|
|
- name: Ensure root /.snapshots directory exists
|
|
ansible.builtin.file:
|
|
dest: "/.snapshots"
|
|
state: directory
|
|
mode: 0755
|
|
|
|
- name: Create root backup configuration
|
|
ansible.builtin.template:
|
|
src: snapper-configurations/root.j2
|
|
dest: "/etc/snapper/configs/root"
|
|
mode: 0640
|
|
force: true # ensure contents are always exact
|
|
|
|
- name: Ensure home /.snapshots directory exists
|
|
ansible.builtin.file:
|
|
dest: "/home/.snapshots"
|
|
state: directory
|
|
mode: 0755
|
|
|
|
- name: Create homedir backup configuration
|
|
ansible.builtin.template:
|
|
src: snapper-configurations/home.j2
|
|
dest: "/etc/snapper/configs/home"
|
|
mode: 0640
|
|
force: true
|
|
|
|
- name: Add snap manual safety command
|
|
ansible.builtin.copy:
|
|
src: snapper-snap-script
|
|
dest: "/usr/bin/snap"
|
|
owner: root
|
|
group: root
|
|
mode: 0755
|
|
|
|
# For now we never activate the snapper daemon
|
|
# Does not work without elogind?
|
|
# Using snooze (i.e. cron) enabled recurring
|
|
# backup tasks instead.
|
|
# - name: Activate snapper service
|
|
# ansible.builtin.file:
|
|
# force: "yes"
|
|
# src: "/etc/sv/snapperd"
|
|
# dest: "/etc/runit/runsvdir/default/snapperd"
|
|
# state: link
|
|
# tags: never
|