--- - 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_name_format: "backup-$(date +%Y-%m-%d-%H:%M)" borg_backup_compression: "lzma,6" borg_backup_paths: "/etc /var" borg_exclude_paths: "--exclude={{borg_repo_path}} --exclude=*.log --exclude=*.log.gz" 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}}"