Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[Mini-Cómo] Monitorizar apagones
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Spanish
View previous topic :: View next topic  
Author Message
pcmaster
Advocate
Advocate


Joined: 04 Dec 2003
Posts: 2020
Location: Barcelona

PostPosted: Sun Jul 29, 2007 8:06 pm    Post subject: [Mini-Cómo] Monitorizar apagones Reply with quote

La idea es implementar un sistema que permita controlar el tiempo que un PC está apagado, tanto si se ha apagado normalmente, como si es a consecuencia de un apagón. Por ello no se puede poner nada en /etc/conf.d/local.stop porque, en caso de un apagón, no haría nada.

La solución es la siguiente:

Creamos un archivo en /etc/init.d/inicios con el siguiente contenido:

#!/sbin/runscript
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

depend() {
before cron
after ntpd ntp-client
}

start() {
ebegin "Iniciando log de inicio"
mkdir -p /var/log/inicios
if (`test -f "/var/log/inicios/actual.log"`); then
mv /var/log/inicios/actual.log /var/log/inicios/$"`date +%Y.%m.%d-%H:%M:%S`"
fi
eend $? "No se pudo iniciar el log de inicio"
}


y lo ponemos en el runlevel default con un

# rc-update add inicios default

Después creamos un archivo en /usr/local/sbin/inicios.sh que contiene:

#! /bin/bash
#
# Programa para comprobar los inicios del PC

echo `date +%Y.%m.%d-%H:%M:%S` >/var/log/inicios/actual.log


y lo ponemos en el cron para que se ejecute cada minuto, añadiendo al crontab la línea:

* * * * * /usr/local/sbin/inicios.sh

El funcionamiento es el siguiente: cada minuto, el script ejecutado por el cron guarda la fecha y hora actual en un archivo /var/log/inicios/actual.log, en formato AAAA.MM.DD-HH:MM:SS. Cuando arranca de nuevo tras un apagado (correcto o tras un corte), el archivo /etc/init.d/inicios se ejecuta y cambia el nombre del archivo poniéndole como nombre la hora y fecha actual. Por razones obvias debe ejecutarse antes de que lo haga el cron por primera vez. Cuando se ejecuta el cron, se crea un nuevo archivo actual.log. El resultado es que en /var/log/inicios tenemos una serie de archivos cuyo nombre es la fecha y hora a la que se ha iniciado el PC, y cuyo contenido, de texto, es la hora a la que se había apagado antes de iniciar. Es decir, cada archivo contiene información sobre un período de tiempo durante el cual el PC ha permanecido apagado.
_________________
pcmaster
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Spanish All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum