Gracias Gracias:  0
Me Gusta Me Gusta:  0
No me Gusta No me Gusta:  0
Mostrando resultados del 1 al 3 de 3

Tema: Como crear un script en bash que muestre la hora cada minuto?

  1. #1
    Fecha de Ingreso
    31-agosto-2008
    Mensajes
    5
    Post Thanks / Like
    Poder de Credibilidad
    0

    Post Como crear un script en bash que muestre la hora cada minuto?

    *-*Disculpen, pero alguien me podria decir como crear un Scrip que muestre la hora cada minuto ...?

    *-*y alguna idea de como Realizar un Script que verifique que un usuario este conectado, y cuando este se desconecte que imprima “ El usuario esta desconectado” y que además envié un correo electrónico a la cuenta de correo electronico. El Script debe hacer la verificación cada 30 Minutos, eso quiere decir que el Script siempre debe de estar funcionando


  2. #2
    Fecha de Ingreso
    25-julio-2008
    Mensajes
    10
    Post Thanks / Like
    Poder de Credibilidad
    0
    El siguiente script te muestra la hora en la consola cada x segundos definidos en la instrucción sleep
    !#/bin/bash
    i="0"
    while [ $i -lt 4 ]
    do
    clear
    date +"%H:%M:%S"
    sleep 5
    done
    Para el segundo más bien debes crear un script que se ejecute cuando el usuario inicia sesion y cuando termina. http://tldp.org/LDP/Bash-Beginners-G...ect_03_01.html

  3. #3
    Fecha de Ingreso
    23-julio-2006
    Ubicación
    Mallorca
    Mensajes
    387
    Post Thanks / Like
    Poder de Credibilidad
    14
    En una linea (ctrl + c para pararlo):
    Código:
    while true; do clear; date +"%H:%M:%S"; sleep 5; done
    Uno que sirve para cocinar en segundos. Te pregunta los segundos que quieres medir, te muestra la hora absoluta de 5 en 5, y al terminar muestra la hora absoluta, el tiempo transcurrido y un sonido de campanilla:
    Código:
    #!/bin/bash
    ###Pregunta cuanto tiempo quieres que mida en segundos
    read -p "¿Cuantos segundos hasta la campana?:   " SEGUNDOS
    ###Contador de segundos
    TOTAL="0"
    ###Limpia la pantalla
    clear
    ###Bucle while sin fin
    while true
    ###La hora cada 5 segundos se guarda en la variable HORA
    HORA=$(date +"%H:%M:%S")
    do
    ###Pon la hora y el primero de los 5 segundos
    echo -e "$HORA\nSegundo transcurrido: $(date +%S) \c "
    ###Bucle for que cuenta 5 segundos de uno en uno
    ###Tambien vale usar: for i in $(seq 1 5)
    ###Tambien vale usar en plan C: for (( i=1;i<6;i+=1 ))
    for i in 1 1 1 1 1
    ###Deja pasar un segundo
    do sleep $i
    ###Suma uno mas al contador de segundos
    let TOTAL+="1"
    ###Imprime el segundo y un espacio
    echo -e " $(date +%S) \c"
    ###Si has llegado al tiempo establecido, limpia pantalla, pon la hora, pon un mensaje, toca la campana y sal
    [ $TOTAL -eq $SEGUNDOS ] && clear && echo -e "$(date +"%H:%M:%S")\nSanseacabo: $SEGUNDOS segundos en total\a" && exit
    ###Final del bucle for de 5 segundos
    done
    ###Limpia pantalla
    clear
    ###Final del bucle while sin fin
    done
    Ponle un nombre (por ejemplo relojito), mételo en tu /home/usuario/bin y activa su ejecución con: chmod 755 relojito ). Luego lo llamas desde donde quieras poniendo en una consola: relojito. Que no se te queme el pastel.

    Ideas para la segunda pregunta:
    Descubrir si está conectado pepe:
    Código:
    who|grep -q pepe; [ $(echo $?) = 0 ] && echo "El usuario esta conectado" || echo "El usuario no esta conectado"
    o
    Código:
    w|grep -q pepe; [ $(echo $?) = 0 ] && echo "El usuario esta conectado" || echo "El usuario no esta conectado"
    o
    Código:
    users|grep -q pepe; [ $(echo $?) = 0 ] && echo "El usuario esta conectado" || echo "El usuario no esta conectado"
    No te explicas bien, o quieres:
    cuando este se desconecte que imprima “ El usuario esta desconectado” y que además envié un correo electrónico...
    o quieres:
    hacer la verificación cada 30 Minutos
    En el primer caso lo ejecutas en una consola con un bucle sin fin que comprueba cada minuto y por ejemplo solo añade una linea cuando se conecte o desconecte y manda el correo; o el segundo caso usando cron para que cada 30 minutos compruebe ejecutando el script y mande un correo estableciendo si está o no conectado.

    Mandar un correo dentro de un script se puede hacer de muchas maneras. Si tienes mailx mira en una consola: man mailx y el encabezado "Sending mail from scripts" o busca enemplos en google.
    cron tiene la funcionalidad de mandar un correo al correr un comando, según /usr/share/doc/packages/cron/FEATURES dice:
    -- If any output is generated by a command (on stdout OR stderr), it will
    be mailed to the owner of the crontab that contained the command (or
    MAILTO, see discussion of environment variables, above). The headers
    of the mail message will include the command that was run, and a
    complete list of the environment that was passed to it, which will
    contain (at least) the USER (LOGNAME on SysV), HOME, and SHELL.
    Y en: man cron dice:
    ...
    When executing commands, any output is mailed to the owner of the crontab (or to the user named in the MAILTO environment variable in the crontab, if such exists).
    Quizás se pueda hacer desde kmail, no lo he probado.
    Suerte...
    Última edición por migtei; 03-sep-2008 a las 23:02

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Temas Similares

  1. ¿porque ubuntu es mas popular q suse?
    By goundzchecky in forum El Contubernio
    Respuestas: 161
    Último mensaje: 16-ago-2012, 15:01
  2. Crea tu propia distro
    By merovingio in forum El Contubernio
    Respuestas: 15
    Último mensaje: 21-ene-2007, 00:38
  3. Parar e iniciar servicios en linux
    By ubaloie in forum FAQs, Manuales y Tutoriales
    Respuestas: 1
    Último mensaje: 26-may-2006, 06:31
  4. Pregunta medio tonta, script, como?
    By leonedo in forum Software
    Respuestas: 7
    Último mensaje: 07-mar-2006, 09:47
  5. Crear script de shell
    By criosg in forum General OpenSUSE
    Respuestas: 1
    Último mensaje: 06-may-2005, 16:24

Marcadores

Normas de Publicación

  • No puedes crear nuevos temas
  • No puedes responder mensajes
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •