Files
2024-12-14 13:08:21 +01:00

77 lines
2.1 KiB
YAML
Executable File

---
- name: Set up borg cron job
ansible.builtin.cron:
name: 'Borgbackup'
cron_file: borgbackup
user: "{{ borg_user }}"
hour: '{{ borg_cron.hour }}'
minute: '{{ borg_cron.minute }}'
day: "{{ borg_cron.day }}"
weekday: "{{ borg_cron.weekday }}"
month: "{{ borg_cron.month }}"
job: >
PATH=$PATH:/usr/local/bin
nice -n {{ borg_cron_nice }}
ionice -c {{ borg_cron_ionice }}
borgmatic {{ borg_cron_action }} --log-file {{ borg_cron_log }} --log-file-verbosity 2 -c /etc/borgmatic/config.yaml >>{{ borg_cron_log }} 2>&1
when: borg_cron_enable
- name: Set up borg prune cron job
ansible.builtin.cron:
name: 'Borgbackup Prune'
cron_file: borgbackup
user: "{{ borg_user }}"
hour: >-
{% if borg_cron.hour in range(0, 22) %}
{{ '%02d' | format(borg_cron.hour + 2) }}
{%- elif borg_cron.hour in [22, 23] -%}
{% if borg_cron.hour == 22 %}0{% else %}1{% endif %}
{%- endif -%}
minute: '{{ borg_cron.minute }}'
day: "{{ borg_cron.day }}"
weekday: "{{ borg_cron.weekday }}"
month: "{{ borg_cron.month }}"
job: >
PATH=$PATH:/usr/local/bin
nice -n {{ borg_cron_nice }}
ionice -c {{ borg_cron_ionice }}
borgmatic prune --log-file {{ borg_cron_log }} --log-file-verbosity 2 -c /etc/borgmatic/config.yaml >>{{ borg_cron_log }} 2>&1
when:
- borg_cron_enable
- borg_cron_action != 'prune'
- name: Create borg_cron_log file
ansible.builtin.file:
state: touch
modification_time: preserve
access_time: preserve
path: '{{ borg_cron_log }}'
owner: '{{ borg_user }}'
group: '{{ borg_user }}'
mode: '0600'
when: borg_cron_enable
- name: Copy s3-synchronize.sh scripts
ansible.builtin.copy:
src: files/s3-synchronize.sh
dest: /usr/local/bin/s3-synchronize.sh
mode: '0755'
when: borg_scripts
- name: Setup logrotate
ansible.builtin.copy:
dest: /etc/logrotate.d/borg
owner: root
group: root
mode: '0644'
content: |
{{ borg_cron_log }} {
daily
rotate 7
missingok
notifempty
compress
delaycompress
}
when: borg_logrotate