diff --git a/ogclient/etc/init/default.sh b/ogclient/etc/init/default.sh deleted file mode 100755 index 15a65c1..0000000 --- a/ogclient/etc/init/default.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/bash -# Proceso general de arranque de OpenGnsys Client. - - -# Fichero de registro de incidencias (en el servidor; si no, en local). -OPENGNSYS=${OPENGNSYS:-/opt/opengnsys} -OGLOGFILE=${OGLOGFILE:-$OPENGNSYS/log/$(ogGetIpAdderss).log} -if ! touch $OGLOGFILE 2>/dev/null; then - OGLOGFILE=/var/log/opengnsys.log -fi -LOGLEVEL=5 - -# Matando plymount para inicir browser o shell -pkill -9 plymouthd - -# Arranque de OpenGnsys Client daemon (socket). -echo "${MSG_LAUNCHCLIENT:-.}" -# Indicar fichero de teclado de Qt para el idioma especificado (tipo "es.qmap"). -[ -f /usr/local/etc/${LANG%_*}.qmap ] && export QWS_KEYBOARD="TTY:keymap=/usr/local/etc/${LANG%_*}.qmap" - -if [ -f "/usr/share/OGAgent/opengnsys/linux/OGAgentService.py" -a "$ogstatus" != "offline" ]; then - # Ejecutar servicio cliente. - cd /usr/share/OGAgent - export OGAGENTCFG_OGCORE_IP=$ogcore - export OGAGENTCFG_OGLOG_IP=$oglog - export OGAGENTCFG_URLMENU_SCHEME=http - export OGAGENTCFG_URLMENU_IP=127.0.0.1 - export OGAGENTCFG_URLMENU_PORT=81 - ( - ## remove bash functions and some OG vars from the agent's environment - unset -f $(declare -F |awk '/og[A-Z]|NT[A-Z]/ { print $3 }') - unset $(declare |awk -F= '/^MSG_|^OG_ERR_/ { print $1 }') - python3 -m opengnsys.linux.OGAgentService fg - ) -else - for FILE in index $OGGROUP $(ogGetIpAddress) - do - [ -f $OGCAC/menus/$FILE.html ] && OGMENU="$OGCAC/menus/$FILE.html" - done - $OPENGNSYS/bin/launch_browser $OGMENU -fi - -# Si fallo en cliente y modo "admin", cargar shell; si no, salir. -if [ "$ogactiveadmin" == "true" ]; then - bash -fi diff --git a/ogclient/etc/preinit/cleanesp.sh b/ogclient/etc/preinit/cleanesp.sh deleted file mode 100755 index 0cef989..0000000 --- a/ogclient/etc/preinit/cleanesp.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -F=/opt/opengnsys/functions - -## BootLib.bootOs() makes a copy of grub.cfg in /boot/grub within the ESP -## clean it up -if $F/ogIsEfiActive; then - ESP=$($F/ogGetEsp) - MNTPT=$($F/ogMount $ESP) - rm -f $MNTPT/boot/grub/grub.cfg - $F/ogUnmount $ESP -fi diff --git a/ogclient/etc/preinit/default.sh b/ogclient/etc/preinit/default.sh deleted file mode 100755 index 8bf36ad..0000000 --- a/ogclient/etc/preinit/default.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/bash - -if grep -q pyinit=false /proc/cmdline; then - echo "shell init" -else - echo "python init" - exec /opt/opengnsys/etc/preinit.py -fi - -# Cargar entorno de OpenGnsys -set -a -source /opt/opengnsys/etc/preinit/loadenviron.sh - -# Scripts de inicio. -for f in cleanesp fileslinks loadmodules metadevs mountrepo poweroff filebeat otherservices; do - source $OGETC/preinit/$f.sh -done -unset f - -if [ -f $OGETC/init/$IPV4ADDR.sh ]; then - $OGETC/init/$OG_IP.sh - -elif [ -f $OGETC/init/$OGGROUP.sh ]; then - $OGETC/init/$OGGROUP.sh - -elif [ -f $OGETC/init/default.sh ]; then - $OGETC/init/default.sh - -else - echo "No se ha encontrado script de inicio" - halt -fi diff --git a/ogclient/etc/preinit/filebeat.sh b/ogclient/etc/preinit/filebeat.sh deleted file mode 100755 index 1f7984e..0000000 --- a/ogclient/etc/preinit/filebeat.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -F=/etc/filebeat/filebeat.yml -OPENSEARCH_PORT=9200 - -if [ -f $F ]; then - PASS=$(grep "^[ ]*\(export \)\?OPTIONS=" /scripts/ogfunctions 2>&1 |sed 's/\(.*\)pass=\(\w*\)\(.*\)/\2/') ## taken from a sibling script - PASS=${PASS:-"og"} - PASS=OG+$(echo -n $PASS |sha256sum |cut -c1-12) ## og KDF - chmod 0600 $F - sed -i -e "s/__OGLOG_IP__/$oglog/g" \ - -e "s/__OGLOG_PORT__/$OPENSEARCH_PORT/g" \ - -e "s/__OPENSEARCH_PASSWORD__/$PASS/g" \ - $F - unset PASS - - mkdir -p /var/log/filebeat - /usr/bin/filebeat -c $F --path.home /usr/share/filebeat --path.config /etc/filebeat --path.data /var/lib/filebeat --path.logs /var/log/filebeat & -fi diff --git a/ogclient/etc/preinit/fileslinks.sh b/ogclient/etc/preinit/fileslinks.sh deleted file mode 100755 index 826282d..0000000 --- a/ogclient/etc/preinit/fileslinks.sh +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/bash -#/** -#@file fileslinks.sh -#@brief Script de inicio para copiar ficheros y deinir enlaces simbólicos. -#@warning License: GNU GPLv3+ -#@version 0.9 -#@author Ramon Gomez, ETSII Universidad de Sevilla -#@date 2009-10-10 -#@version 1.0.5 - Enlace para librería libmac (obsoleto en versión 1.1.1). -#@author Ramon Gomez, ETSII Universidad de Sevilla -#@date 2012-06-28 -#@version 1.1.2 - Autenticación con clave pública para SSH -#@author Irina Gómez, ETSII Universidad de Sevilla -#@date 2019-09-25 -#*/ - - -# Si está configurado OpenGnsys ... -if [ -n "$OPENGNSYS" ]; then - echo "${MSG_MAKELINKS:-.}" - - # Shell BASH por defecto (para usar "runtest") - ln -fs /bin/bash /bin/sh 2>/dev/null - - # Crear directorio de bloqueos - mkdir -p /var/lock 2>/dev/null || mkdir -p /run/lock - - # Crear ficheros temporales. - touch $OGLOGCOMMAND $OGLOGCOMMAND.tmp $OGLOGSESSION /tmp/menu.tmp - chmod 777 $OGLOGCOMMAND $OGLOGCOMMAND.tmp $OGLOGSESSION /tmp/menu.tmp - - # Enlaces para Qt Embeded. - QTDIR="/usr/local" - mkdir -p $QTDIR/{etc,lib,plugins} - for i in $OGLIB/qtlib/* $OGLIB/fonts; do - [ -f $QTDIR/lib/$i ] || ln -fs $i $QTDIR/lib 2>/dev/null - done - for i in $OGLIB/qtplugins/*; do - [ -f $QTDIR/plugins/$i ] || ln -fs $i $QTDIR/plugins 2>/dev/null - done - for i in $OGETC/*.qmap; do - [ -f $QTDIR/etc/$i ] || ln -fs $i $QTDIR/etc 2>/dev/null - done - - # Autenticación con clave pública para SSH - [ -f /scripts/ssl/authorized_keys ] && cp /scripts/ssl/* /root/.ssh - -else - # FIXME Error: entorno de OpenGnsys no configurado. - echo "Error: OpenGnsys environment is not configured." # FIXME: definir mensaje. - exit 1 -fi - diff --git a/ogclient/etc/preinit/loadenviron.sh b/ogclient/etc/preinit/loadenviron.sh deleted file mode 100755 index 1687823..0000000 --- a/ogclient/etc/preinit/loadenviron.sh +++ /dev/null @@ -1,150 +0,0 @@ -#!/bin/bash -#/** -#@file loadenviron.sh -#@brief Script de carga de la API de funciones de OpenGnsys. -#@warning License: GNU GPLv3+ -#@version 0.9 -#@author Ramon Gomez, ETSII Universidad de Sevilla -#@date 2009-10-10 -#@version 1.0.3 - Limpiar código y configuración modo off-line -#@author Ramon Gomez, ETSII Universidad de Sevilla -#@date 2012-01-12 -#@version 1.0.5 - Compatibilidad para usar proxy y servidor DNS. -#@author Ramon Gomez, ETSII Universidad de Sevilla -#@date 2014-04-23 -#*/ - -# Idioma por defecto. -export LANG="${LANG:-es_ES}" -locale-gen $LANG - -# Directorios del proyecto OpenGnsys. -export OPENGNSYS="${OPENGNSYS:-/opt/opengnsys}" -if [ -d $OPENGNSYS ]; then - export OGBIN=$OPENGNSYS/bin - export OGETC=$OPENGNSYS/etc - export OGLIB=$OPENGNSYS/lib - export OGAPI=$OGLIB/engine/bin - export OGPYFUNCS=$OPENGNSYS/functions - export OGSCRIPTS=$OPENGNSYS/scripts - export OGIMG=$OPENGNSYS/images - export OGCAC=$OPENGNSYS/cache - export OGLOG=$OPENGNSYS/log - - export PATH=$OGSCRIPTS:$OGPYFUNCS:$OGBIN:$PATH:/opt/oglive/rootfs/opt/drbl/sbin - export PYTHONPATH=$OPENGNSYS/lib/python3 - - # Exportar parámetros del kernel. - for i in $(cat /proc/cmdline); do - echo $i | grep -q "=" && export $i - done - - # Cargar sysctls - sysctl -p &>/dev/null - - # Cargar fichero de idioma. - LANGFILE=$OGETC/lang.${LANG%@*}.conf - if [ -f $LANGFILE ]; then - source $LANGFILE - for i in $(awk -F= '{if (NF==2) print $1}' $LANGFILE); do - export $i - done - fi - # Mensaje de carga del entorno. - echo "${MSG_LOADAPI:-.}" - - # Cargar mapa de teclado. - loadkeys ${LANG%_*} >/dev/null - - # Cargar API de funciones. - for i in $OGAPI/*.lib; do - source $i - done - - for i in $(typeset -F | cut -f3 -d" "); do - export -f $i - done - - # Cargar configuración del engine. - [ -f ${OGETC}/engine.cfg ] && source ${OGETC}/engine.cfg - export OGLOGCOMMAND=${OGLOGCOMMAND:-/tmp/command.log} - export OGLOGSESSION=${OGLOGSESSION:-/tmp/session.log} - - # Cargar las APIs según engine. - if [ -n "$ogengine" ]; then - for i in $OGAPI/*.$ogengine; do - [ -f $i ] && source $i - done - fi - - # Configuración de la red (modo offline). - eval $(grep "^DEVICECFG=" /tmp/initrd.cfg 2>/dev/null) - if [ -n "$DEVICECFG" ]; then - export DEVICECFG - [ -f $DEVICECFG ] && source $DEVICECFG - fi - - # FIXME Pruebas para grupos de ordenadores - export OGGROUP="$group" - - ROOTREPO=${ROOTREPO:-"$OGSERVERIMAGES"} - - # Fichero de registros. - export OGLOGFILE="$OGLOG/$(ogGetIpAddress).log" -fi - -# Compatibilidad para usar proxy en clientes ogLive. -[ -z "$http_proxy" -a -n "$ogproxy" ] && export http_proxy="$ogproxy" - -# Compatibilidad para usar servidor DNS en clientes ogLive. -if [ ! -f /run/resolvconf/resolv.conf -a -n "$ogdns" ]; then - mkdir -p /run/resolvconf - echo "nameserver $ogdns" > /run/resolvconf/resolv.conf -fi - -# Declaración de códigos de error. -export OG_ERR_FORMAT=1 # Formato de ejecución incorrecto. -export OG_ERR_NOTFOUND=2 # Fichero o dispositivo no encontrado. -export OG_ERR_PARTITION=3 # Error en partición de disco. -export OG_ERR_LOCKED=4 # Partición o fichero bloqueado. -export OG_ERR_IMAGE=5 # Error al crear o restaurar una imagen. -export OG_ERR_NOTOS=6 # Sin sistema operativo. -export OG_ERR_NOTEXEC=7 # Programa o función no ejecutable. -# Códigos 8-13 reservados por ogAdmClient.h -export OG_ERR_NOTWRITE=14 # No hay acceso de escritura -export OG_ERR_NOTCACHE=15 # No hay particion cache en cliente -export OG_ERR_CACHESIZE=16 # No hay espacio en la cache para almacenar fichero-imagen -export OG_ERR_REDUCEFS=17 # Error al reducir sistema archivos -export OG_ERR_EXTENDFS=18 # Error al expandir el sistema de archivos -export OG_ERR_OUTOFLIMIT=19 # Valor fuera de rango o no válido. -export OG_ERR_FILESYS=20 # Sistema de archivos desconocido o no se puede montar -export OG_ERR_CACHE=21 # Error en partición de caché local -export OG_ERR_NOGPT=22 # El disco indicado no contiene una particion GPT -export OG_ERR_REPO=23 # Error al montar el repositorio de imagenes -export OG_ERR_NOMSDOS=24 # El disco indicado no contienen una particion MSDOS - -export OG_ERR_IMGSIZEPARTITION=30 # Error al restaurar partición más pequeña que la imagen -export OG_ERR_UPDATECACHE=31 # Error al realizar el comando updateCache -export OG_ERR_DONTFORMAT=32 # Error al formatear -export OG_ERR_IMAGEFILE=33 # Archivo de imagen corrupto o de otra versión de $IMGPROG -export OG_ERR_GENERIC=40 # Error imprevisto no definido -export OG_ERR_UCASTSYNTAXT=50 # Error en la generación de sintaxis de transferenica UNICAST -export OG_ERR_UCASTSENDPARTITION=51 # Error en envío UNICAST de partición -export OG_ERR_UCASTSENDFILE=52 # Error en envío UNICAST de un fichero -export OG_ERR_UCASTRECEIVERPARTITION=53 # Error en la recepcion UNICAST de una particion -export OG_ERR_UCASTRECEIVERFILE=54 # Error en la recepcion UNICAST de un fichero -export OG_ERR_MCASTSYNTAXT=55 # Error en la generacion de sintaxis de transferenica Multicast. -export OG_ERR_MCASTSENDFILE=56 # Error en envio MULTICAST de un fichero -export OG_ERR_MCASTRECEIVERFILE=57 # Error en la recepcion MULTICAST de un fichero -export OG_ERR_MCASTSENDPARTITION=58 # Error en envio MULTICAST de una particion -export OG_ERR_MCASTRECEIVERPARTITION=59 # Error en la recepcion MULTICAST de una particion -export OG_ERR_PROTOCOLJOINMASTER=60 # Error en la conexion de una sesion UNICAST|MULTICAST con el MASTER - -export OG_ERR_DONTMOUNT_IMAGE=70 # Error al montar una imagen sincronizada. -export OG_ERR_DONTSYNC_IMAGE=71 # Imagen no sincronizable (es monolitica) -export OG_ERR_DONTUNMOUNT_IMAGE=72 # Error al desmontar la imagen -export OG_ERR_NOTDIFFERENT=73 # No se detectan diferencias entre la imagen basica y la particion. -export OG_ERR_SYNCHRONIZING=74 # Error al sincronizar, puede afectar la creacion/restauracion de la imagen - -export OG_ERR_NOTUEFI=80 # La interfaz UEFI no está activa -export OG_ERR_NOTBIOS=81 # La interfaz BIOS legacy no está activa diff --git a/ogclient/etc/preinit/loadmodules.sh b/ogclient/etc/preinit/loadmodules.sh deleted file mode 100755 index ded3539..0000000 --- a/ogclient/etc/preinit/loadmodules.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash -#/** -#@file loadmodules.sh -#@brief Script de inicio para cargar módulos complementarios del kernel. -#@version 1.0 -#@author Ramon Gomez, ETSII Universidad de Sevilla -#@date 2010-01-26 -#@version 1.0.5 - Cargar módulos específicos para el cliente. -#@author Ramon Gomez, ETSII Universidad de Sevilla -#@date 2013-11-11 -#*/ - - -echo "${MSG_LOADMODULES:-.}" - -# Módulo del ratón. -modprobe psmouse 2>/dev/null - -# Cargar módulos específicos del kernel del cliente. -for m in $OGLIB/modules/$(uname -r)/*.ko; do - [ -r $m ] && insmod $m &>/dev/null -done - diff --git a/ogclient/etc/preinit/metadevs.sh b/ogclient/etc/preinit/metadevs.sh deleted file mode 100755 index e2454c5..0000000 --- a/ogclient/etc/preinit/metadevs.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash -#/** -#@file metadevs.sh -#@brief Script de inicio para detectar metadispositivos LVM y RAID. -#@note Desglose del script "loadenviron.sh". -#@warning License: GNU GPLv3+ -#@version 0.9 -#@author Ramon Gomez, ETSII Universidad de Sevilla -#@date 2009-10-10 -#@version 0.9.4 -#@author Ramon Gomez, ETSII Universidad de Sevilla -#@date 2010-04-19 -#*/ - - -# Si está configurado OpenGnsys ... -if [ -n "$OPENGNSYS" ]; then - echo "$MSG_DETECTLVMRAID" - # Detectar metadispositivos LVM. - vgchange -ay &>/dev/null - # Detectar metadispositivos RAID. - dmraid -ay &>/dev/null -else - # FIXME Error: entorno de OpenGnsys no configurado. - echo "Error: OpenGnsys environment is not configured." # FIXME: definir mensaje. - exit 1 -fi - diff --git a/ogclient/etc/preinit/mountrepo.sh b/ogclient/etc/preinit/mountrepo.sh deleted file mode 100755 index e1c18fe..0000000 --- a/ogclient/etc/preinit/mountrepo.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/bash -#/** -#@file mountrepo.sh -#@brief Script para montar el repositorio de datos remoto. -#@warning License: GNU GPLv3+ -#@version 1.0 -#@author Ramon Gomez, ETSII Universidad de Sevilla -#@date 2011-03-17 -#*/ - -OGIMG=${OGIMG:-/opt/opengnsys/images} -ROOTREPO=${ROOTREPO:-"$ROOTSERVER"} - -# TODO Revisar proceso de arranque para no montar 2 veces el repositorio. -if [ "$ogactiveadmin" == "true" ]; then - export boot=admin # ATENCIÓN: siempre en modo "admin". - umount $OGIMG 2>/dev/null - - protocol=${ogprotocol:-"smb"} - [ "$ogunit" != "" ] && OGUNIT="/$ogunit" - printf "$MSG_MOUNTREPO\n" "$protocol" "$boot" - case "$ogprotocol" in - nfs) mount.nfs ${ROOTREPO}:$OGIMG$OGUNIT $OGIMG -o rw,nolock ;; - smb) PASS=$(grep "^[ ]*\(export \)\?OPTIONS=" /scripts/ogfunctions 2>&1 | \ - sed 's/\(.*\)pass=\(\w*\)\(.*\)/\2/') - PASS=${PASS:-"og"} - mount.cifs //${ROOTREPO}/ogimages$OGUNIT $OGIMG -o rw,serverino,acl,username=opengnsys,password=$PASS - ;; - local) # TODO: hacer funcion dentro de este script que monte smb - # Comprobamos que estatus sea online. - if [ "$ogstatus" == "offline" -o "$SERVER" == "" ]; then - # Si estatus es offline buscamos un dispositivo con etiqueta repo - # y si no existe montamos la cache como repo (si existe). - TYPE=$(blkid | grep REPO | awk -F"TYPE=" '{print $2}' | tr -d \") - if [ "$TYPE" == "" ]; then - [ -d $OGCAC/$OGIMG ] && mount --bind $OGCAC/$OGIMG $OGIMG - else - mount -t $TYPE LABEL=REPO $OGIMG &>/dev/null - fi - else - # Comprobamos que existe un servicio de samba. - smbclient -L $SERVER -N &>/dev/null - if [ $? -eq 0 ]; then - PASS=$(grep "^[ ]*\(export \)\?OPTIONS=" /scripts/ogfunctions 2>&1 | \ - sed 's/\(.*\)pass=\(\w*\)\(.*\)/\2/') - PASS=${PASS:-"og"} - mount.cifs //${ROOTREPO}/ogimages $OGIMG -o rw,serverino,acl,username=opengnsys,password=$PASS - fi - # TODO: buscar condicion para NFS - fi - ;; - esac -fi - diff --git a/ogclient/etc/preinit/otherservices.sh b/ogclient/etc/preinit/otherservices.sh deleted file mode 100755 index 156a576..0000000 --- a/ogclient/etc/preinit/otherservices.sh +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/bash -#/** -#@file otherservices.sh -#@brief Script de inicio para cargar otros servicios complementarios. -#@version 1.0.3 -#@author Ramon Gomez, ETSII Universidad de Sevilla -#@date 2012-01-12 -#*/ - -ogIsEfiActive && mount -t efivarfs none /sys/firmware/efi/efivars -echo "${MSG_OTHERSERVICES:-.}" - -# stunnel start -cat >/etc/stunnel/menu.conf <<__EOF__ -setuid = stunnel4 -setgid = stunnel4 -pid = /var/run/stunnel4/menu.pid -foreground = yes -debug = info - -[menu] -client = yes -accept = 127.0.0.1:81 -connect = $ogcore:8443 -__EOF__ -if [[ true == "$ogusetls" ]]; then - if [[ true == "$ogverifytls" ]]; then - ## use tls and verify - cat >>/etc/stunnel/menu.conf <<__EOF__ -cert = /opt/opengnsys/etc/ogagent.crt -key = /opt/opengnsys/etc/ogagent.key -CAfile = /opt/opengnsys/etc/ca.crt -requireCert = yes -verifyChain = yes -__EOF__ - else - ## use tls but not verify - cat >>/etc/stunnel/menu.conf <<__EOF__ -cert = /opt/opengnsys/etc/ogagent.crt -key = /opt/opengnsys/etc/ogagent.key -CAfile = /opt/opengnsys/etc/ca.crt -requireCert = no -verifyChain = no -__EOF__ - fi -else - ## don't use tls - cat >>/etc/stunnel/menu.conf <<__EOF__ -requireCert = no -verifyChain = no -__EOF__ -fi -mkdir -p /var/run/stunnel4; chown stunnel4:stunnel4 /var/run/stunnel4 -stunnel /etc/stunnel/menu.conf &>/var/log/stunnel4/menu.log & -# stunnel end - -# dbus -if [ -e /etc/dbus-1/system.d/ogbrowser.conf ]; then - mkdir -p /run/dbus - DBUS_SESSION_BUS_ADDRESS=$(dbus-daemon --print-address --system --nosyslog) - export DBUS_SESSION_BUS_ADDRESS - dbus-monitor --system &>/var/log/dbus-monitor.log & -fi - -[ -S /dev/log ] || service rsyslog start - -# root password -PASS=$(grep "^[ ]*\(export \)\?OPTIONS=" /scripts/ogfunctions 2>&1 | sed 's/\(.*\)pass=\(\w*\)\(.*\)/\2/') -PASS=${PASS:-"og"} -echo -ne "$PASS\n$PASS\n" | passwd root 2>/dev/null - -cp -a $OPENGNSYS/etc/preinit/loadenviron.sh /etc/profile.d/ -/etc/init.d/ssh start &>/dev/null - -#setterm -blank 0 -powersave off -powerdown 0 < /dev/console > /dev/console 2>&1 ## apagado de monitor -ethtool -s $DEVICE wol g 2>/dev/null ## Activado WOL en la interfaz usada en arranque PXE. -[ -f /opt/opengnsys/scripts/runhttplog.sh ] && /opt/opengnsys/scripts/runhttplog.sh 2>/dev/null diff --git a/ogclient/etc/preinit/poweroff.sh b/ogclient/etc/preinit/poweroff.sh deleted file mode 100755 index f5f9f98..0000000 --- a/ogclient/etc/preinit/poweroff.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash -#/** -#@file poweroff.sh -#@brief Script de inicio para cargar el proceso comprobación de clientes inactivos. -#@note Arranca y configura el proceso "cron". -#@warning License: GNU GPLv3+ -#@version 1.0.2 -#@author Ramon Gomez, ETSII Universidad de Sevilla -#@date 2011-10-25 -#*/ - - -# Si está configurado OpenGnsys ... -if [ -n "$OPENGNSYS" ]; then - echo "${MSG_POWEROFFCONF:-.}" - - # Sincronización horaria con servidor NTP. - [ -n "$ogntp" -a "$status" != "offline" ] && ntpdate $ogntp - - # Crear fichero de configuración por defecto (30 min. de espera). - POWEROFFCONF=/etc/poweroff.conf - cat << FIN > $POWEROFFCONF -POWEROFFSLEEP=30 -POWEROFFTIME= -FIN - # Incluir zona horaria en el fichero de configuración. - awk 'BEGIN {RS=" "} /^TZ=/ {print}' /proc/cmdline >> $POWEROFFCONF - - # Lanzar el proceso "cron". - cron -l - - # Definir la "crontab" lanzando el proceso de comprobación cada minuto. - echo "* * * * * [ -x $OGBIN/poweroffconf ] && $OGBIN/poweroffconf" | crontab - - -else - # FIXME Error: entorno de OpenGnsys no configurado. - echo "Error: OpenGnsys environment is not configured." # FIXME: definir mensaje. - exit 1 -fi -