aboutsummaryrefslogtreecommitdiff
path: root/tasks
diff options
context:
space:
mode:
Diffstat (limited to 'tasks')
-rw-r--r--tasks/client.yml35
-rw-r--r--tasks/client_Alpine.yml6
-rw-r--r--tasks/client_Gentoo.yml7
-rw-r--r--tasks/client_OpenBSD.yml7
-rw-r--r--tasks/client_RedHat.yml7
-rw-r--r--tasks/client_Ubuntu.yml7
-rw-r--r--tasks/server.yml1
7 files changed, 45 insertions, 25 deletions
diff --git a/tasks/client.yml b/tasks/client.yml
index 7eedbe7..0ae0142 100644
--- a/tasks/client.yml
+++ b/tasks/client.yml
@@ -27,10 +27,7 @@
delegate_to: "{{ borg_server }}"
- name: create borg client repo on server
- command: "borg init --encryption=none /srv/borg/repos/{{ ansible_hostname }}"
- become: yes
- become_method: su
- become_user: borg
+ shell: "echo \"borg init --encryption=none /srv/borg/repos/{{ ansible_hostname }}\" | su -l borg"
delegate_to: "{{ borg_server }}"
args:
creates: "/srv/borg/repos/{{ ansible_hostname }}/config"
@@ -56,10 +53,15 @@
- name: make the repo known to the client
copy:
- dest: "/root/.config/borg/security/{{ hostvars[borg_server]['ansible_local']['borg']['repos'][ansible_hostname] }}/key-type"
- content: "2"
+ dest: "/root/.config/borg/security/{{ hostvars[borg_server]['ansible_local']['borg']['repos'][ansible_hostname] }}/{{ item.dest }}"
+ content: "{{ item.content }}"
owner: root
mode: 0600
+ loop:
+ - { dest: key-type, content: "2" }
+ - { dest: location, content: "ssh://borg@{{ borg_server }}/srv/borg/repos/{{ ansible_hostname }}" }
+ - { dest: manifest-timestamp, content: "{{ ansible_date_time['iso8601_micro'] }}" }
+ changed_when: false
- name: deploy borg backup script
template:
@@ -68,23 +70,6 @@
owner: root
mode: 0500
-- name: activate borg cron on alpine
- lineinfile:
- line: '0 23 * * * /usr/local/bin/adyxax_backup.sh'
- path: /etc/crontabs/root
- when: ansible_os_family == 'Alpine'
-
-- name: activate borg cron on gentoo or redhat
- file:
- state: link
- src: /usr/local/bin/adyxax_backup.sh
- dest: /etc/cron.daily/backup
- when: ansible_os_family == 'Gentoo' or ansible_os_family == 'RedHat'
-
-- name: activate borg cron on openbsd
- lineinfile:
- line: '0 23 * * * /usr/local/bin/adyxax_backup.sh'
- path: /var/cron/tabs/root
- when: ansible_os_family == 'OpenBSD'
- notify: restart openbsd cron
+- name: Run OS specific tasks
+ include_tasks: "roles/borg/tasks/client_{{ ansible_distribution }}.yml"
...
diff --git a/tasks/client_Alpine.yml b/tasks/client_Alpine.yml
new file mode 100644
index 0000000..3334be5
--- /dev/null
+++ b/tasks/client_Alpine.yml
@@ -0,0 +1,6 @@
+---
+- name: activate borg cron
+ lineinfile:
+ line: '0 23 * * * /usr/local/bin/adyxax_backup.sh'
+ path: /etc/crontabs/root
+...
diff --git a/tasks/client_Gentoo.yml b/tasks/client_Gentoo.yml
new file mode 100644
index 0000000..a6c6317
--- /dev/null
+++ b/tasks/client_Gentoo.yml
@@ -0,0 +1,7 @@
+---
+- name: activate borg cron
+ file:
+ state: link
+ src: /usr/local/bin/adyxax_backup.sh
+ dest: /etc/cron.daily/backup
+...
diff --git a/tasks/client_OpenBSD.yml b/tasks/client_OpenBSD.yml
new file mode 100644
index 0000000..a566949
--- /dev/null
+++ b/tasks/client_OpenBSD.yml
@@ -0,0 +1,7 @@
+---
+- name: activate borg cron
+ lineinfile:
+ line: '0 23 * * * /usr/local/bin/adyxax_backup.sh'
+ path: /var/cron/tabs/root
+ notify: restart openbsd cron
+...
diff --git a/tasks/client_RedHat.yml b/tasks/client_RedHat.yml
new file mode 100644
index 0000000..a6c6317
--- /dev/null
+++ b/tasks/client_RedHat.yml
@@ -0,0 +1,7 @@
+---
+- name: activate borg cron
+ file:
+ state: link
+ src: /usr/local/bin/adyxax_backup.sh
+ dest: /etc/cron.daily/backup
+...
diff --git a/tasks/client_Ubuntu.yml b/tasks/client_Ubuntu.yml
new file mode 100644
index 0000000..a6c6317
--- /dev/null
+++ b/tasks/client_Ubuntu.yml
@@ -0,0 +1,7 @@
+---
+- name: activate borg cron
+ file:
+ state: link
+ src: /usr/local/bin/adyxax_backup.sh
+ dest: /etc/cron.daily/backup
+...
diff --git a/tasks/server.yml b/tasks/server.yml
index bd40dab..c166dcf 100644
--- a/tasks/server.yml
+++ b/tasks/server.yml
@@ -7,6 +7,7 @@
- name: Create borg user on server
user:
name: borg
+ group: borg
shell: /bin/sh
home: /srv/borg
createhome: yes