Fix template extension, add borg backup install
This commit is contained in:
parent
f0f9df53a3
commit
9691d7dc5d
31
playbooks/install_borgbackup.yml
Normal file
31
playbooks/install_borgbackup.yml
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
---
|
||||||
|
- hosts: all
|
||||||
|
become: yes
|
||||||
|
vars:
|
||||||
|
borg.repo.path: /var/backup/backup.borg/
|
||||||
|
borg.repo.encryption: none
|
||||||
|
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.copy:
|
||||||
|
src: ../templates/borgbackup.j2
|
||||||
|
dest: /opt/borgbackup.sh
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: '744'
|
||||||
|
|
||||||
|
- name: "Configure cronjob"
|
||||||
|
ansible.builtin.cron:
|
||||||
|
name: "Borg backup"
|
||||||
|
minute: "0"
|
||||||
|
hour: "1"
|
||||||
|
job: "/opt/borgbackup.sh"
|
15
templates/borgbackup.j2
Normal file
15
templates/borgbackup.j2
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Borg repo location
|
||||||
|
REPOSITORY={{borg.repo.path}}
|
||||||
|
# Example of remote repo
|
||||||
|
# REPOSITORY=ssh://backuper@192.168.1.100/{{borg.repo.path}}
|
||||||
|
|
||||||
|
echo "`date +[%F/%T]` Starting the backup"
|
||||||
|
# Create backup
|
||||||
|
borg create -v --compression lzma,6 --stats $REPOSITORY::$(date +%Y-%m-%d-%H:%M) /etc/ /var/spool/ --exclude=*.log
|
||||||
|
# Clean old backups
|
||||||
|
borg prune -v $REPOSITORY --keep-daily=3 --keep-weekly=2 --keep-monthly=12
|
||||||
|
echo "`date +[%F/%T]` Done!"
|
||||||
|
|
||||||
|
exit
|
20
templates/zabbix_agentd2.j2
Normal file
20
templates/zabbix_agentd2.j2
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
PidFile=/var/run/zabbix/zabbix_agent2.pid
|
||||||
|
LogType=file
|
||||||
|
LogFile=/var/log/zabbix/zabbix_agent2.log
|
||||||
|
LogFileSize=0
|
||||||
|
DebugLevel=2
|
||||||
|
Server={{ zabbix_server }}
|
||||||
|
ListenPort=10050
|
||||||
|
ListenIP={{ ansible_default_ipv4.address }}
|
||||||
|
ServerActive={{ zabbix_server }}
|
||||||
|
Hostname={{ ansible_hostname }}
|
||||||
|
HostMetadata={{ host_meta }}
|
||||||
|
RefreshActiveChecks=300
|
||||||
|
Include=/etc/zabbix/zabbix_agentd.conf.d/*.conf
|
||||||
|
ControlSocket=/tmp/agent.sock
|
||||||
|
Include=./zabbix_agent2.d/plugins.d/*.conf
|
||||||
|
TLSAccept=psk
|
||||||
|
TLSConnect=psk
|
||||||
|
TLSPSKIdentity={{ psk_id }}
|
||||||
|
TLSPSKFile=/etc/zabbix/key.psk
|
||||||
|
UserParameter=get.sensors.data,/usr/bin/sensors -j
|
Loading…
Reference in New Issue
Block a user