Add backupclient
This commit is contained in:
@@ -1,3 +1,7 @@
|
|||||||
---
|
---
|
||||||
common_aliases:
|
common_aliases:
|
||||||
- "root: bofh@fet.at"
|
- "root: bofh@fet.at"
|
||||||
|
common_hostname: False
|
||||||
|
common_apt: False
|
||||||
|
common_rsyslog: False
|
||||||
|
common_resolvconf: False
|
||||||
7
group_vars/backup
Normal file
7
group_vars/backup
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
backup:
|
||||||
|
repositories:
|
||||||
|
- path: "/srv/rep1"
|
||||||
|
name: "Repository1"
|
||||||
|
- path: "/srv/rep2"
|
||||||
|
name: "Repository2"
|
||||||
|
|
||||||
1
host_vars/backup01
Normal file
1
host_vars/backup01
Normal file
@@ -0,0 +1 @@
|
|||||||
|
inventory_hostname_short: backup01
|
||||||
@@ -1,2 +1,5 @@
|
|||||||
[backup]
|
[backup]
|
||||||
10.0.3.113
|
10.0.3.113
|
||||||
|
|
||||||
|
[backupclient]
|
||||||
|
10.0.3.161
|
||||||
|
|||||||
@@ -1,3 +1,21 @@
|
|||||||
---
|
---
|
||||||
- name: install borg
|
- name: install borg
|
||||||
apt: name="borgbackup" state=present
|
apt: name="borgbackup" state=present
|
||||||
|
|
||||||
|
- name: create repositories
|
||||||
|
file:
|
||||||
|
path: "{{item.path}}"
|
||||||
|
state: directory
|
||||||
|
with_items: "{{backup.repositories}}"
|
||||||
|
|
||||||
|
- name: init borg repositories
|
||||||
|
command: "borg init {{item.path}} --encryption=none"
|
||||||
|
args:
|
||||||
|
creates: "{{item.path}}/README"
|
||||||
|
with_items: "{{backup.repositories}}"
|
||||||
|
|
||||||
|
- name: create READMES
|
||||||
|
template:
|
||||||
|
src=borg_README.j2
|
||||||
|
dest="{{item.path}}/README"
|
||||||
|
with_items: "{{backup.repositories}}"
|
||||||
|
|||||||
2
roles/backup/templates/borg_README.j2
Normal file
2
roles/backup/templates/borg_README.j2
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
This is a generate FET borg repository.
|
||||||
|
Name: {{item.name}}
|
||||||
2
roles/backupclient/defaults/main.yml
Normal file
2
roles/backupclient/defaults/main.yml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
---
|
||||||
|
backup_borg: True
|
||||||
26
roles/backupclient/tasks/borg.yml
Normal file
26
roles/backupclient/tasks/borg.yml
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
---
|
||||||
|
- name: install borg
|
||||||
|
apt: name="borgbackup" state=present
|
||||||
|
|
||||||
|
- name: create backup user
|
||||||
|
user:
|
||||||
|
name: borg_backup
|
||||||
|
comment: "BackupUser für BORG Backup"
|
||||||
|
group: root
|
||||||
|
generate_ssh_key: yes
|
||||||
|
ssh_key_bits: 4096
|
||||||
|
ssh_key_file: .ssh/id_rsa
|
||||||
|
|
||||||
|
- name: fetch pubickey
|
||||||
|
shell: "cat /home/borg_backup/.ssh/id_rsa.pub"
|
||||||
|
register: id_rsa_pub
|
||||||
|
|
||||||
|
- name: Add authorized key to borg backup servers
|
||||||
|
authorized_key:
|
||||||
|
user: "root"
|
||||||
|
key: "{{id_rsa_pub.stdout}}"
|
||||||
|
key_options: 'command="borg serve --restrict-to-path /srv/rep1"'
|
||||||
|
delegate_to: "{{item}}"
|
||||||
|
with_items: "{{groups['backup']}}"
|
||||||
|
when: id_rsa_pub.stdout is defined
|
||||||
|
|
||||||
4
roles/backupclient/tasks/main.yml
Normal file
4
roles/backupclient/tasks/main.yml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
---
|
||||||
|
- include: borg.yml
|
||||||
|
when: backup_borg
|
||||||
|
tags: ['backup', 'borg']
|
||||||
@@ -1 +1 @@
|
|||||||
10.0.3.113
|
10.0.3.161
|
||||||
|
|||||||
Reference in New Issue
Block a user