35 lines
981 B
YAML
35 lines
981 B
YAML
---
|
|
- hosts: all
|
|
become: yes
|
|
vars:
|
|
borg_repo_path: "/var/backups/backup.borg/"
|
|
borg_repo_encryption: "none"
|
|
borg_script_install_path: "/opt/borgbackup.sh"
|
|
borg_backup_paths: "/ --exclude=*.log --exclude=*.log.gz --exclude=/proc/ --exclude=/dev/ --exclude=/run/ --exclude=/sys/ --exclude=/tmp/"
|
|
|
|
tasks:
|
|
- name: "Install borg backup"
|
|
apt:
|
|
name: borgbackup
|
|
state: latest
|
|
|
|
- name: "Create backup repository"
|
|
ansible.builtin.command: borg init -e {{borg_repo_encryption}} {{borg_repo_path}}
|
|
args:
|
|
creates: "{{borg_repo_path}}"
|
|
|
|
- name: "Configure backup script"
|
|
ansible.builtin.template:
|
|
src: ../templates/borgbackup.j2
|
|
dest: "{{borg_script_install_path}}"
|
|
owner: root
|
|
group: root
|
|
mode: '744'
|
|
|
|
- name: "Configure cronjob"
|
|
ansible.builtin.cron:
|
|
name: "Borg backup"
|
|
minute: "0"
|
|
hour: "1"
|
|
job: "{{borg_script_install_path}}"
|