ansible/roles/minecraft/templates/backup.sh

33 lines
913 B
Bash

#! /bin/bash
#
# minecraft-{{ minecraft_name }}.sh
# Backup script for Minecraft. Meant to be sourced by our main backup script
# Copyright (C) 2020 Vintage Salt <rehashedsalt@cock.li>
#
# Distributed under terms of the MIT license.
#
set -e
export OUTDIR="$BACKUPSDIR/{{ minecraft_name }}"
# Sanity checks
if [ -z "$BACKUPSDIR" ]; then
log "BACKUPSDIR was undefined. Run the main backup script instead of this one."
return 1
fi
if ! [ -d "$OUTDIR" ]; then
if ! mkdir "$OUTDIR"; then
log "Unable to find or create output directory: $OUTDIR"
return 2
fi
fi
# WE MAKE BACKUP NOW SERGEI
tar czf "$OUTDIR/{{ minecraft_name }}-$(date -Iseconds)-full.tar.gz" \
--exclude "{{ minecraft_home }}/{{ minecraft_name }}/backups" \
--exclude "{{ minecraft_home }}/{{ minecraft_name }}/crash-reports" \
--exclude "{{ minecraft_home }}/{{ minecraft_name }}/logs" \
"/{{ minecraft_home }}/{{ minecraft_name }}/"