debian.ansible.backup/backup.yml

68 lines
1.6 KiB
YAML
Raw Normal View History

2022-07-10 10:49:09 +02:00
---
- name: Backups
hosts: all
tasks:
- name: Install Packages
apt:
name:
- rsync
update_cache: no
install_recommends: no
- name: Create checks dir /usr/local/sbin/backup.d
ansible.builtin.file:
path: /usr/local/sbin/backup.d
owner: root
group: root
state: directory
mode: '0700'
- name: /usr/local/sbin/backup.sh
blockinfile:
path: /usr/local/sbin/backup.sh
mode: "0500"
owner: root
group: root
create: yes
marker: "# {mark} ANSIBLE MANAGED BLOCK"
block: |
. /etc/bash/gaboshlib.include
g_lockfile
g_nice
g_all-to-syslog
g_echo_ok "Starting $0"
set -o pipefail
BACKUPDIR=/home/backup
mkdir -p ${BACKUPDIR}
chmod 700 ${BACKUPDIR}
chown root. ${BACKUPDIR}
find /usr/local/sbin/backup.d -name "*.backup" -type f | sort | while read backup
do
g_echo "Running: $backup"
. "$backup"
done
g_echo "Backup-Skript beendet"
backup: yes
validate: /bin/bash -n %s
notify:
- name: /usr/local/sbin/backup.sh shebang
lineinfile:
path: /usr/local/sbin/backup.sh
insertbefore: BOF
line: "#!/bin/bash"
- name: /etc/cron.d/backup_local
blockinfile:
path: /etc/cron.d/backup_local
create: yes
mode: 0644
owner: root
group: root
marker: "# {mark} ANSIBLE MANAGED BLOCK"
block: |
5 0 * * * root /usr/local/sbin/backup.sh
backup: yes