#!/bin/bash
# Script de ejemplo para reiniciar un ordenador
# (puede usarse como base para el programa de reinicio usado por OpenGNSys Admin).

# Si se recibe un parametro sera el tiempo de sleep antes de realizar el reboot
if [ $# == 1 ] && [ "${1//[^0-9]/}" == "$1" ]
then
        echo "[5] Se ha introducido un retardo de "$1" segundos para reiniciar"
        TIME=$1
else
        # Sin parametros, o el parametro introducido no es un numero
        echo "[5] No se ha introducido un retardo, 5 segundos para reiniciar"
        TIME=5
fi

# Desmontar los sistemas de archivos y la caché local.
echo "[10] Desmontar todos los sistemas de archivos."
sync
for (( i=1; i <= $(ogDiskToDev | wc -w); i++ )); do
    ogUnmountAll $i 2>/dev/null
done
echo "[50] Desmontar cache local."
ogUnmountCache 2>/dev/null
echo "[90] Reiniciar el equipo."
# Estado correcto de Wake-On-Lan antes de reiniciar.
ethtool -s $DEVICE wol g 2>/dev/null
# Detectar Busybox.
BUSYBOX=$(which busyboxOLD)
BUSYBOX=${BUSYBOX:-"busybox"}
# Retardo en 2º plano para dar lugar al registro en cola de acciones.
(sleep $TIME; $BUSYBOX reboot) &
