feat: refactor cronjobs

This commit is contained in:
auricom
2024-08-04 13:47:04 +02:00
parent 369c5774ab
commit 74f73a477b
25 changed files with 128 additions and 632 deletions

View File

@@ -1,13 +0,0 @@
---
- name: backup | copy script
ansible.builtin.template:
src: backup.bash.j2
dest: /storage/backup.bash
mode: "0755"
- name: backup | crontab
ansible.builtin.cron:
name: daily backup
minute: "14"
hour: "4"
job: /storage/backup.bash

View File

@@ -1,8 +1,4 @@
---
- ansible.builtin.include_tasks: backup.yml
tags:
- backup
- ansible.builtin.include_tasks: nfs.yml
tags:
- nfs

View File

@@ -1,37 +0,0 @@
#!/bin/bash
# Variables
DATE=$(date +%Y%m%d%H%M)
BACKUP_SRC="/storage/backup"
BACKUP_DEST="homelab@storage.{{ internal_domain }}:/vol1/backups/servers/coreelec.{{ internal_domain }}/"
error_handler() {
local error_line=$1
local error_message=$2
script_name=$(basename "$0")
local script_name
echo "Error occurred in script '${script_name}' at line: ${error_line}"
echo "Error message: ${error_message}"
curl -s \
--form-string "token={{ pushover_api_token }}" \
--form-string "user={{ pushover_user_key }}" \
--form-string "message=coreelec.{{ internal_domain }}
script: ${script_name}
error_line: ${error_line}
error_message: ${error_message}" \
https://api.pushover.net/1/messages.json
exit 1
}
trap 'error_handler $LINENO "$BASH_COMMAND"' ERR
tar cvf "${BACKUP_SRC}/${DATE}.tar" \
storage/.kodi storage/.config storage/.cache storage/.ssh \
--exclude=storage/.kodi/userdata/Thumbnails
# Keep the last 5 backups on disk
find "${BACKUP_SRC}/*.tar" -mtime +5 -type f -delete
rsync -avh "${BACKUP_SRC}/" "${BACKUP_DEST}" --delete