52 lines
1.4 KiB
YAML
52 lines
1.4 KiB
YAML
---
|
|
- name: Automate borg backup
|
|
hosts: all
|
|
become: yes
|
|
tasks:
|
|
- name: Check if Borg backup script exist
|
|
stat:
|
|
path: /usr/local/sbin/backup.bash
|
|
register: backup_status
|
|
- name: Check if Borg check script exists
|
|
stat:
|
|
path: /usr/local/sbin/check_backup.bash
|
|
register: check_status
|
|
- name: Synchronize Borg scripts
|
|
when: backup_status.stat.exists == False or check_status.stat.exists == False
|
|
synchronize:
|
|
src: ./borg_scripts/
|
|
dest: /usr/local/sbin/
|
|
rsync_opts:
|
|
- "--chown=root:root"
|
|
- "--chmod=0700"
|
|
- name: Create borg backup systemd service
|
|
copy:
|
|
content: |
|
|
[Unit]
|
|
Description=Borg backup
|
|
After=network.target
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
ExecStart=/usr/local/sbin/borg_backup.sh
|
|
User=root
|
|
Group=root
|
|
dest: /etc/systemd/system/borg_backup.service
|
|
- name: Create borg backup systemd timer
|
|
copy:
|
|
content: |
|
|
[Unit]
|
|
Description=Borg backup timer
|
|
|
|
[Timer]
|
|
OnCalendar=*-*-* 05:00:00
|
|
Persistent=true
|
|
|
|
[Install]
|
|
WantedBy=timers.target
|
|
dest: /etc/systemd/system/borg_backup.timer
|
|
- name: Start and enable borg backup timer
|
|
systemd:
|
|
name: borg_backup.timer
|
|
enabled: yes
|
|
state: started |