40 lines
988 B
Bash
40 lines
988 B
Bash
#!/bin/bash
|
|
# Scirpt de ejemplo para apagar un ordenador
|
|
# Nota: se usa como base para el programa de apagado de OpenGnsys Admin.
|
|
|
|
|
|
# Registrar ejecución manual de script.
|
|
case "$(ogGetCaller)" in
|
|
browser|bash) ogEcho log info "Script: $0" ;;
|
|
esac
|
|
|
|
# No registrar errores.
|
|
export DEBUG="no"
|
|
|
|
# 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 &>/dev/null
|
|
done
|
|
echo "[50] Desmontar cache local."
|
|
ogUnmountCache &>/dev/null
|
|
|
|
# Volver a registrar errores.
|
|
unset DEBUG
|
|
|
|
echo "[70] Apagando el equipo."
|
|
# Estado correcto de Wake-On-Lan antes de apagar.
|
|
ethtool -s $DEVICE wol g 2>/dev/null
|
|
# Detectar Busybox.
|
|
BUSYBOX=$(which busyboxOLD)
|
|
BUSYBOX=${BUSYBOX:-"busybox"}
|
|
|
|
# Retardo para dar lugar al registro en cola de acciones.
|
|
sleep 5
|
|
# Parar Browser para evitar "cuelgues".
|
|
[ "$ogstatus" == "offline" ] || pkill browser
|
|
# Apagar.
|
|
$BUSYBOX poweroff
|
|
|