--- - 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}}"