Capturar pantalla a intervalos periódicos

Imagen de paradeiso
0 puntos

Hola a todos!!

Os pido vuestra ayuda una vez más ;-) Resulta que, por problemas con unos cortes en la conexión a Internet, cuya historia sería larguísima de contar, necesito alguna forma de hacer capturas de pantalla a intervalos periódicos, por ejemplo cada media hora, para poder monitorizar la red cuando no estoy en casa.

He estado buscando por la red y no he encontrado ninguna aplicación gráfica para ello, pero sí he encontrado, mediante la consola, una forma que debería funcionar. El problema es que no funciona por crontab!!! ;-)

La forma es la siguiente:

import -window root /home/usuario/captura-`date | awk '{print $1 $2 $3 $4 $5}'`.jpg 

Con esta forma, lo que se consigue es que el fichero donde se guarda la captura tenga como nombre la fecha y hora del momento de la captura, por ejemplo captura-jueene821:50:23.jpg.

Si esa orden la ejecuto desde terminal, no hay problema, funciona de perlas. Pero si la automatizo mediante crontab para que lo haga cada media hora, no lo hace y no sé por qué. Es raro que desde consola funcione y desde crontab no! También he probado a hacerlo mediante scrot, y el resultado es el mismo, desde consola perfecto pero desde crontab no.

He probado además a automatizarlo desde la terminal de root, tal y como tengo automatizadas las copias de seguridad del sistema, pero nada de nada :-(

Os agradecería enormemente vuestra ayuda, ya que estos de Telefónica me están intentando timar, y esta sería una buena forma de demostrarles que tengo razón.

Saludos, y un millón de gracias.

Imagen de hugolino
+1
0
-1

Fijate que el comando import tiene más parámetros para ponerle "-snaps 5" para sacar 5 capturas por ejemplo y "-pause 60" para una pausa de 1 minuto entre foto y foto. Tendrías que agregar esos parámetros al comando... algo como...

import -snaps 20 -pause 60 -window root /home/usuario/captura-`date | awk '{$1 $2 $3 $4 $5}'`.jpg

Aunque no lo probé, pero debería ser así.

+1
0
-1
Imagen de paradeiso
+1
0
-1

Gracias por contestar Hugolino! El caso es que sí, tienes razón, hay más parámetros de captura. Pero supuestamente crontab produce el mismo resultado, es decir, que si automatizo para que haga una captura cada media hora, debería hacerlo.

No obstante, me has dado una idea genial, ya que si finalmente no lo consigo mediante crontab, lo haré del modo que tú me dices.

Te agradezco muchísimo tu ayuda, Hugolino!

Saludos

+1
0
-1
Imagen de slap
+1
0
-1

Hola.
Si lo que quieres es comprobar la conexión a internet, puedes hacerlo con un script como este:

#!/bin/bash
#
FECHA=`/bin/date +"%d.%m.%Y a las %R"`
LOG="/ruta/al/directorio/check-red.log"
TMP="/tmp/check-red.log"
SIZE=`/usr/bin/du -b ${LOG} | /usr/bin/cut -f 1`

# Si el tamaño del log sobrepasa los 2048 bytes, lo recorto y dejo sólo las 10 últimas líneas.
if [ $SIZE -gt 2048 ];
then
        /usr/bin/tail -n 10 ${LOG} > ${TMP}
        /bin/mv -f ${TMP} ${LOG}
fi
# Compruebo la conexion
# Aquí puedes poner la dirección de tu ISP (asegúrate antes que responde a los pings
/bin/ping -c 1 -W 10 www.google.es
if [ $? = 1 ];
then
  echo "Red fallando el ${FECHA}" >> ${LOG}
fi

Lo puedes automatizar con cron.

Saludos.


0000 start out (+FD),A
           ld  BC, +7FFF
           jp 03CB, RAM-CHECK

http://7grados.injiniero.es

+1
0
-1

Saludos.

0000 start out (+FD),A
           ld  BC, +7FFF
           jp 03CB, RAM-CHECK

http://www.injiniero.es

Imagen de paradeiso
+1
0
-1

Muchísimas gracias Slap, pero no busco "exactamente" comprobar la conexión a Internet, si no verificar que sufro cortes en la conexión con una duración de unos cuantos segundos, y además los sufro con bastante frecuencia. Puede parecer una tontería, pero unos cortes así son fatales para cualquier transferencia de ficheros.

El asunto de las capturas se debe a que mediante las estadísticas de aMule puedo comprobar si se han producido los cortes, y de ahí que quiera capturar la pantalla a intervalos periódicos.

Saludos

+1
0
-1