Script de backup complet -Palworld
Dernière mise à jour : 19/10/2025
Objectif
Ce script crée une copie physique compressée du monde Palworld toutes les 5 minutes, en conservant uniquement les sauvegardes des 7 derniers jours.
Emplacement et planification
📂 Fichier : C:\Scripts\backup-palworld.bat
⏱️ Exécution : toutes les 5 minutes via le Planificateur de tâches Windows
👤 Compte : SYSTEM
Contenu du script
@echo off
setlocal EnableExtensions EnableDelayedExpansion
set "SOURCE_DIR=D:\PalworldServer\Pal\Saved\SaveGames\0"
set "DEST_ROOT=C:\Backups\Palworld"
set "RETENTION_DAYS=7"
set "LOGDIR=C:\Scripts\logs"
if not exist "%LOGDIR%" mkdir "%LOGDIR%"
for /f %%I in ('powershell -NoProfile -Command "Get-Date -Format yyyy-MM-dd_HH-mm-ss"') do set "TS=%%I"
set "ZIPFILE=%DEST_ROOT%\Backup_%TS%.zip"
set "LOGFILE=%LOGDIR%\palworld_backup_%TS%.log"
set "LASTLOG=%LOGDIR%\palworld_backup_latest.log"
echo [%TS%] === DÉMARRAGE BACKUP PALWORLD (ZIP) === > "%LOGFILE%"
echo [%TS%] SOURCE : %SOURCE_DIR% >> "%LOGFILE%"
echo [%TS%] DEST : %ZIPFILE% >> "%LOGFILE%"
if not exist "%SOURCE_DIR%" (
echo [%TS%] ERREUR : Source introuvable. >> "%LOGFILE%"
goto :end
)
if not exist "%DEST_ROOT%" mkdir "%DEST_ROOT%" >> "%LOGFILE%" 2>&1
echo [%TS%] Compression en cours... >> "%LOGFILE%"
powershell -NoProfile -Command "Compress-Archive -Path '%SOURCE_DIR%\*' -DestinationPath '%ZIPFILE%' -CompressionLevel Optimal -Force" >> "%LOGFILE%" 2>&1
if %ERRORLEVEL% NEQ 0 (
echo [%TS%] ERREUR de compression. >> "%LOGFILE%"
goto :end
)
echo [%TS%] ZIP créé avec succès. >> "%LOGFILE%"
echo [%TS%] Suppression des anciens backups/logs (> %RETENTION_DAYS% j) >> "%LOGFILE%"
powershell -NoProfile -Command "$limit=(Get-Date).AddDays(-%RETENTION_DAYS%); Get-ChildItem '%DEST_ROOT%' -Filter 'Backup_*.zip' | Where-Object { $_.LastWriteTime -lt $limit } | Remove-Item -Force" >> "%LOGFILE%" 2>&1
powershell -NoProfile -Command "$limit=(Get-Date).AddDays(-%RETENTION_DAYS%); Get-ChildItem '%LOGDIR%' -Filter 'palworld_backup_*.log' | Where-Object { $_.LastWriteTime -lt $limit } | Remove-Item -Force" >> "%LOGFILE%" 2>&1
:end
copy /y "%LOGFILE%" "%LASTLOG%" >nul 2>&1
echo [%TS%] === FIN BACKUP PALWORLD === >> "%LOGFILE%"
endlocal
exit /b 0
Fonctionnement
- Crée un fichier ZIP daté dans
C:\Backups\Palworld\Backup_YYYY-MM-DD_HH-mm-ss.zip
- Compresse directement le dossier du monde Palworld
- Supprime automatiquement les backups et logs de plus de 7 jours
- Génére des logs détaillés pour chaque exécution
Conseils
- Adapte
SOURCE_DIR
selon ton installation Palworld - Vérifie que le service SYSTEM a accès à
C:\Backups\Palworld
- Combine ce script avec
save-palworld.bat
pour une solution de sauvegarde complète 🔒