54 lines
1.4 KiB
Bash
54 lines
1.4 KiB
Bash
#!/bin/bash
|
|
|
|
################################################################################
|
|
# BACKUP SCRIPT
|
|
# Realiza backup de modelos y configuración
|
|
################################################################################
|
|
|
|
set -e
|
|
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
BLUE='\033[0;34m'
|
|
NC='\033[0m'
|
|
|
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
|
|
BACKUP_DIR="$PROJECT_DIR/backups"
|
|
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
|
|
|
|
log() { echo -e "${BLUE}[$(date '+%H:%M:%S')]${NC} $@"; }
|
|
log_success() { echo -e "${GREEN}✅ $@${NC}"; }
|
|
|
|
log "Iniciando backup..."
|
|
|
|
mkdir -p "$BACKUP_DIR"
|
|
|
|
# Backup configuración
|
|
log "Haciendo backup de configuración..."
|
|
tar -czf "$BACKUP_DIR/config_$TIMESTAMP.tar.gz" \
|
|
-C "$PROJECT_DIR" \
|
|
config/ \
|
|
.env \
|
|
requirements.txt \
|
|
2>/dev/null || true
|
|
|
|
# Backup modelos (OPCIONAL - muy grandes)
|
|
read -p "¿Hacer backup de modelos Ollama? (y/n - muy grande, ~20GB): " -n 1 -r
|
|
echo
|
|
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
|
log "Haciendo backup de modelos (esto tardará)..."
|
|
tar -czf "$BACKUP_DIR/models_$TIMESTAMP.tar.gz" \
|
|
/home/charle/.ollama/models \
|
|
2>/dev/null || true
|
|
fi
|
|
|
|
# Backup workspace
|
|
log "Haciendo backup de workspace..."
|
|
tar -czf "$BACKUP_DIR/workspace_$TIMESTAMP.tar.gz" \
|
|
-C "$PROJECT_DIR" \
|
|
workspace/ \
|
|
2>/dev/null || true
|
|
|
|
log_success "Backups completados en: $BACKUP_DIR"
|
|
ls -lh "$BACKUP_DIR" |