96 lines
2.3 KiB
YAML
96 lines
2.3 KiB
YAML
---
|
|
- name: Borg Local Sync Installation and Configuration
|
|
block:
|
|
- name: Set Borg backup facts
|
|
ansible.builtin.set_fact:
|
|
borg_passphrase: "{{ lookup('community.general.onepassword', 'Borg Backup', vault='Dotfiles', field='password') }}"
|
|
borg_config_dir: "{{ ansible_env.HOME }}/.config/borg"
|
|
borg_backup_dir: "/mnt/services"
|
|
borg_repo_dir: "/mnt/object_storage/borg-repo"
|
|
|
|
- name: Create Borg local sync script
|
|
template:
|
|
src: borg-local-sync.sh.j2
|
|
dest: /usr/local/bin/borg-local-sync.sh
|
|
mode: "0755"
|
|
owner: root
|
|
group: root
|
|
become: yes
|
|
tags:
|
|
- borg-local-sync
|
|
|
|
- name: Create Borg local sync systemd service
|
|
template:
|
|
src: borg-local-sync.service.j2
|
|
dest: /etc/systemd/system/borg-local-sync.service
|
|
mode: "0644"
|
|
owner: root
|
|
group: root
|
|
become: yes
|
|
notify:
|
|
- reload systemd
|
|
tags:
|
|
- borg-local-sync
|
|
|
|
- name: Create Borg local sync systemd timer
|
|
template:
|
|
src: borg-local-sync.timer.j2
|
|
dest: /etc/systemd/system/borg-local-sync.timer
|
|
mode: "0644"
|
|
owner: root
|
|
group: root
|
|
become: yes
|
|
notify:
|
|
- reload systemd
|
|
- restart borg-local-sync-timer
|
|
tags:
|
|
- borg-local-sync
|
|
|
|
- name: Create log file for Borg local sync
|
|
file:
|
|
path: /var/log/borg-local-sync.log
|
|
state: touch
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
become: yes
|
|
tags:
|
|
- borg-local-sync
|
|
|
|
- name: Enable and start Borg local sync timer
|
|
systemd:
|
|
name: borg-local-sync.timer
|
|
enabled: yes
|
|
state: started
|
|
daemon_reload: yes
|
|
become: yes
|
|
tags:
|
|
- borg-local-sync
|
|
|
|
- name: Add logrotate configuration for Borg local sync
|
|
copy:
|
|
content: |
|
|
/var/log/borg-local-sync.log {
|
|
daily
|
|
rotate 30
|
|
compress
|
|
delaycompress
|
|
missingok
|
|
notifempty
|
|
create 644 root root
|
|
}
|
|
dest: /etc/logrotate.d/borg-local-sync
|
|
mode: "0644"
|
|
owner: root
|
|
group: root
|
|
become: yes
|
|
tags:
|
|
- borg-local-sync
|
|
- borg
|
|
- backup
|
|
|
|
tags:
|
|
- borg-local-sync
|
|
- borg
|
|
- backup
|