24 lines
846 B
Django/Jinja
24 lines
846 B
Django/Jinja
#!/bin/bash
|
|
# Script de sauvegarde mensuelle Minecraft
|
|
|
|
set -e
|
|
|
|
BACKUP_DIR="{{ minecraft_backups_dir }}/monthly"
|
|
SOURCE_DIR="{{ minecraft_server_dir }}"
|
|
DATE=$(date +%Y%m%d_%H%M%S)
|
|
BACKUP_NAME="minecraft-monthly-${DATE}"
|
|
RETENTION={{ backup_retention_monthly }}
|
|
|
|
echo "$(date): Début de la sauvegarde mensuelle"
|
|
|
|
# Commande save-all via rcon
|
|
{{ minecraft_tools_dir }}/mcrcon/mcrcon -H 127.0.0.1 -P {{ minecraft_rcon_port }} -p {{ minecraft_rcon_password | default('changeme') }} save-all || true
|
|
sleep 10
|
|
|
|
# Création de la sauvegarde
|
|
rsync {{ rsync_options }} "${SOURCE_DIR}/" "${BACKUP_DIR}/${BACKUP_NAME}/"
|
|
|
|
# Nettoyage des anciennes sauvegardes (mois)
|
|
find "${BACKUP_DIR}" -type d -name "minecraft-monthly-*" -mtime +$((${RETENTION} * 30)) -exec rm -rf {} + 2>/dev/null || true
|
|
|
|
echo "$(date): Sauvegarde mensuelle terminée: ${BACKUP_NAME}" |