33 lines
1.6 KiB
Bash
33 lines
1.6 KiB
Bash
#!/bin/bash
|
|
# Script para ejecutar en Raspberry - copia código desde PC local
|
|
# Este script se ejecuta en la Raspberry vía cron cada 5 minutos
|
|
|
|
# Configuración - IP del PC (ajustar según tu red local)
|
|
PC_IP="192.168.1.XXX" # CAMBIAR POR LA IP DE TU PC
|
|
PC_USER="elanchok91" # Usuario del PC
|
|
PC_PATH="/mnt/c/word/demo" # Ruta en WSL del PC
|
|
RASPBERRY_PATH="/home/pi/gkachele-saas"
|
|
LOG_FILE="/tmp/sync-from-pc.log"
|
|
|
|
echo "$(date '+%Y-%m-%d %H:%M:%S'): 🔄 Iniciando sincronización desde PC..." >> $LOG_FILE
|
|
|
|
# Verificar si el PC está disponible
|
|
if ping -c 1 -W 2 $PC_IP &> /dev/null; then
|
|
# Intentar copiar usando scp (requiere SSH en el PC)
|
|
# Si el PC tiene SSH habilitado, usar esto:
|
|
# scp -o StrictHostKeyChecking=no -r $PC_USER@$PC_IP:$PC_PATH/* $RASPBERRY_PATH/ 2>>$LOG_FILE
|
|
|
|
# Alternativa: usar rsync si está disponible
|
|
# rsync -avz --delete $PC_USER@$PC_IP:$PC_PATH/ $RASPBERRY_PATH/ 2>>$LOG_FILE
|
|
|
|
echo "$(date '+%Y-%m-%d %H:%M:%S'): ⚠️ PC disponible pero necesita configuración SSH" >> $LOG_FILE
|
|
echo "$(date '+%Y-%m-%d %H:%M:%S'): 💡 Usar método alternativo: script en PC que copia a Raspberry" >> $LOG_FILE
|
|
else
|
|
echo "$(date '+%Y-%m-%d %H:%M:%S'): ⚠️ PC no disponible ($PC_IP)" >> $LOG_FILE
|
|
fi
|
|
|
|
# Reiniciar servicio si hay cambios (verificar hash o timestamp)
|
|
sudo systemctl restart gkachele-saas 2>/dev/null || (sudo pkill -f "python3 app.py" && sleep 1 && cd $RASPBERRY_PATH && nohup python3 app.py > /tmp/app.log 2>&1 &)
|
|
|
|
echo "$(date '+%Y-%m-%d %H:%M:%S'): ✅ Sincronización completada" >> $LOG_FILE
|