You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

126 lines
3.4 KiB

#!/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 ""