#!/bin/bash # # Script de restauración de Vicibox para servidor destino # Uso: ./restore.sh # set -e # Colores para output RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' info() { echo -e "${GREEN}[INFO]${NC} $1" } warn() { echo -e "${YELLOW}[WARN]${NC} $1" } error() { echo -e "${RED}[ERROR]${NC} $1" } # Verificar que se ejecuta como root if [ "$EUID" -ne 0 ]; then error "Este script debe ejecutarse como root" exit 1 fi # Verificar que existen los archivos if [ ! -f "vicibox-scripts.tar.gz" ]; then error "No se encuentra vicibox-scripts.tar.gz" exit 1 fi if [ ! -f "astguiclient-trunk.tar.gz" ]; then error "No se encuentra astguiclient-trunk.tar.gz" exit 1 fi info "==========================================" info "Restauración de Vicibox" info "==========================================" echo "" # 1. Restaurar scripts de Vicibox info "1. Restaurando scripts de Vicibox..." mkdir -p /usr/share if tar -xzf vicibox-scripts.tar.gz -C /usr/share/ 2>/dev/null; then chmod +x /usr/share/vicibox/*.sh 2>/dev/null chmod +x /usr/share/vicibox/*.pl 2>/dev/null chmod +x /usr/share/vicibox/vicibox-* 2>/dev/null info " ✓ Scripts restaurados" else error " ✗ Error al restaurar scripts" exit 1 fi echo "" # 2. Crear enlaces simbólicos info "2. Creando enlaces simbólicos..." mkdir -p /usr/local/bin ln -sf /usr/share/vicibox/vicibox-install.pl /usr/local/bin/vicibox-install 2>/dev/null ln -sf /usr/share/vicibox/vicibox-express /usr/local/bin/vicibox-express 2>/dev/null ln -sf /usr/share/vicibox/vicibox-externip /usr/local/bin/vicibox-externip 2>/dev/null ln -sf /usr/share/vicibox/vicibox-timezone /usr/local/bin/vicibox-timezone 2>/dev/null ln -sf /usr/share/vicibox/vicibox-mdraid1 /usr/local/bin/vicibox-mdraid1 2>/dev/null info " ✓ Enlaces simbólicos creados" echo "" # 3. Restaurar código fuente info "3. Restaurando código fuente de ViciDial..." mkdir -p /usr/src if tar -xzf astguiclient-trunk.tar.gz -C /usr/src/ 2>/dev/null; then chmod +x /usr/src/astguiclient/trunk/install.pl 2>/dev/null chmod +x /usr/src/astguiclient/trunk/bin/* 2>/dev/null || true chmod +x /usr/src/astguiclient/trunk/extras/*.sh 2>/dev/null || true info " ✓ Código fuente restaurado" else error " ✗ Error al restaurar código fuente" exit 1 fi echo "" # 4. Verificación info "4. Verificando instalación..." ERRORS=0 if [ ! -f "/usr/share/vicibox/vicibox-install.pl" ]; then error " ✗ No se encuentra vicibox-install.pl" ERRORS=$((ERRORS+1)) fi if [ ! -f "/usr/src/astguiclient/trunk/install.pl" ]; then error " ✗ No se encuentra install.pl de ViciDial" ERRORS=$((ERRORS+1)) fi if [ ! -f "/usr/src/astguiclient/trunk/extras/MySQL_AST_CREATE_tables.sql" ]; then error " ✗ No se encuentra MySQL_AST_CREATE_tables.sql" ERRORS=$((ERRORS+1)) fi if [ $ERRORS -eq 0 ]; then info " ✓ Verificación completada sin errores" else warn " ⚠ Se encontraron $ERRORS errores en la verificación" fi echo "" info "==========================================" info "Restauración completada!" info "==========================================" echo "" info "Ahora puedes ejecutar la instalación:" echo "" echo " Para instalación Express (todo-en-uno):" echo " vicibox-install --vicibox-express" echo "" echo " Para instalación personalizada:" echo " vicibox-install" echo ""