#!/bin/bash # Script de sauvegarde quotidienne Minecraft set -e BACKUP_DIR="{{ minecraft_backups_dir }}/daily" SOURCE_DIR="{{ minecraft_server_dir }}" DATE=$(date +%Y%m%d_%H%M%S) BACKUP_NAME="minecraft-daily-${DATE}" RETENTION={{ backup_retention_daily }} # Notification du début de sauvegarde echo "$(date): Début de la sauvegarde quotidienne" # Commande save-all via rcon si le serveur est en cours {{ minecraft_tools_dir }}/mcrcon/mcrcon -H 127.0.0.1 -P {{ minecraft_rcon_port }} -p {{ minecraft_rcon_password | default('changeme') }} save-all || true sleep 5 # Création de la sauvegarde rsync {{ rsync_options }} --exclude 'logs' "${SOURCE_DIR}/" "${BACKUP_DIR}/${BACKUP_NAME}/" # Nettoyage des anciennes sauvegardes find "${BACKUP_DIR}" -type d -name "minecraft-daily-*" -mtime +${RETENTION} -exec rm -rf {} + 2>/dev/null || true echo "$(date): Sauvegarde quotidienne terminée: ${BACKUP_NAME}"