Alta definición
Registro en forodvd
+ Responder tema
Resultados 1 al 15 de 2821

Siemens Gigaset HD795 T

Vista híbrida

Mensaje anterior Mensaje anterior   Próximo mensaje Próximo mensaje
  1. #1
    honorable Avatar de Carva
    Registro
    13 nov, 10
    Mensajes
    613
    Agradecido
    160 veces

    Predeterminado Apagado programado

    Hola a tod@s, ha llegado el momento de poner en práctica lo que sabemos de vi para implementar esta característica.

    Para ello tenemos que tener el cron instalado y en marcha, para comprobarlo vamos a entrar en el equipo con telnet y vamos a ejecutar el siguiente comando:
    Código:
    ps | grep cron
      184 root        404 S   /usr/local/etc/opt/sbin/cron
      501 root        308 S   grep cron
    Nos tiene que aparecer una línea como la primera (la segunda es simplemente la ejecución de nuestro comando)

    Si no aparece o no lo tienes instalado o no lo tienes arrancado.

    Para instalarlo sigue mi post de Pag 35 #514
    Para arrancarlo lo veremos mas adelante.

    ¿QUE VAMOS A HACER?
    Antes de seguir he de advertir que esto puede ser peligroso, y aunque vamos a hacer copias de seguridad del fichero de arranque y una prueba de arranque, si las cosas no se hacen EXACTAMENTE como pongamos aquí, podemos encontrarnos con que el equipo no arranca y tendremos que volver a cargar el firmware.
    Así que haz esto bajo tu responsabilidad.

    Bien, pues vamos a editar el fichero de arranque que ejecuta el proceso principal, y le vamos a decir que, además de obedecer al mando a distancia, que también recoja las órdenes que le pongamos en un fichero que crearemos, con lo cual todo lo que se ponga en ese fichero se ejecutará como si hubiesemos tecleado algo en el mando.

    De esa manera podemos enviar comandos de forma programada usando este fichero, y usando el cron que sirve para ejecutar procesos a una hora determinada y/o de forma periódica, vamos a enviarle al equipo una señal de apagado diariamente (o cuando y como queramos) a la hora que nos apetezca.

    Ya sabemos todos entrar con telnet al equipo, pongo aquí el comando una vez mas:
    Código:
    telnet DIRECCION_IP_DEL EQUIPO
    .... login: root
    1) Nos situamos en el directorio /usr/local/etc
    Código:
    cd /usr/local/etc
    2) Hacemos una copia de seguridad del fichero que vamos a "tocar"
    Código:
    cp rcS rcS.orig
    3) Editamos el fichero con vi
    Código:
    vi rcS
    A partir de ahora estamos dentro del fichero y ejecutaremos comandos de vi ¿OK?

    4) Buscamos el arranque del cron
    Código:
    /cron
    Esto busca la palabra cron dentro del fichero, se coloca en la linea de estado (inferior) y se ejecuta, si lo encuentra se posiciona el cursor en la línea (si se encuentra y pulsamos n (de next) buscamos la ocurrencia siguiente), si no lo encuentra, aparecerá en la línea de estado el mensaje: Pattern not found
    El arranque del cron es una línea así:
    Código:
    /usr/local/etc/opt/sbin/cron
    Si ya la tenemos nos saltamos este paso y si no la tenemos la introducimos entre las líneas
    Código:
    ln -s /mnt/dvdvr /dev/dvdvr
    y....
    # This variable tells DvdPlayer the firmware URL for internet updating
    Para ello nos situamos sobre la línea: ln -s ... y ejecutamos el comando o (o minúscula) que nos abrirá una línea en blanco por debajo, copiamos estas líneas desde aquí mismo:
    Código:
    # <CUSTOM01
    # Start cron daemon
    /usr/local/etc/opt/sbin/cron
    # CUSTOM01>
    y las pegamos en vi, damos botón derecho sobre el vi, y le damos pegar, para que se inserten las líneas ¿OK?
    Cuando tengamos las líneas en el fichero volvemos al modo comando con <ESC>

    5) Ahora tenemos que cambiar unas cuantas líneas del fichero (ojo, estoy usando el fichero rcS de la última versión), para lo cual os voy a poner el contenido de un trozo del fichero ANTES de editar y como debe quedar DESPUES de editar:
    Código:
     ANTES DE EDITAR:
    /usr/sbin/httpd -h /usr/local/bin/Resource/www -p 80
    #/usr/sbin/httpd -h /tmp_orig/www -p 80
    
    CHIPSET="RTD1283"
    if [ $CHIPSET = "RTD1183" ]; then
            echo "RTD1183 sleep 3"
            sleep 3
    fi
    
    if [ -f $DEFAULT_AP_DIR/DvdPlayer ] && [ -x $DEFAULT_AP_DIR/DvdPlayer ]; then
            cd $DEFAULT_AP_DIR
            if [ -f $DEFAULT_AP_DIR/RootApp ] && [ -x $DEFAULT_AP_DIR/RootApp ]; then
                    echo Running dvdplayer with RootApp
                    ./RootApp DvdPlayer&
            else
                    echo Running dvdplayer
                    ./DvdPlayer&
            fi
    else
            /etc/dvdplayer/script/run_tail
    fi
    
    #Nand doesn't have signature
    #SIGNATURE=`dd if=/dev/mtdblock/0 bs=8 count=1`
    Las líneas que comienzan por el caracter # son comentarios, yo he marcado todo lo que he añadido nuevo entre líneas:
    ########## <CUSTOM02
    y ....
    ########## CUSTOM02>
    Ahora os pongo en color rojo todo lo que hay que añadir

    Código:
     DESPUES DE EDITAR:
    /usr/sbin/httpd -h /usr/local/bin/Resource/www -p 80
    #/usr/sbin/httpd -h /tmp_orig/www -p 80
    
    ########## <CUSTOM02
    touch /tmp/command_sender.txt
    ########## CUSTOM02>
    
    CHIPSET="RTD1283"
    if [ $CHIPSET = "RTD1183" ]; then
            echo "RTD1183 sleep 3"
            sleep 3
    fi
    
    if [ -f $DEFAULT_AP_DIR/DvdPlayer ] && [ -x $DEFAULT_AP_DIR/DvdPlayer ]; then
            cd $DEFAULT_AP_DIR
            if [ -f $DEFAULT_AP_DIR/RootApp ] && [ -x $DEFAULT_AP_DIR/RootApp ]; then
                    echo Running dvdplayer with RootApp
    ########## <CUSTOM02
    #               ./RootApp DvdPlayer&
                    tail -f /tmp/command_sender.txt | ./RootApp DvdPlayer&
    ########## CUSTOM02>
            else
                    echo Running dvdplayer
    ########## <CUSTOM02
    #               ./DvdPlayer&
                    tail -f /tmp/command_sender.txt | ./DvdPlayer&
    ########## CUSTOM02>
            fi
    else
            /etc/dvdplayer/script/run_tail
    fi
    
    ########## <CUSTOM02
    echo " " >> /tmp/command_sender.txt
    ########## CUSTOM02>
    
    #Nand doesn't have signature
    #SIGNATURE=`dd if=/dev/mtdblock/0 bs=8 count=1`
    El último añadido:
    ########## <CUSTOM02
    echo " " >> /tmp/command_sender.txt
    ########## CUSTOM02>
    es para que al arrancar en vez de ir al menú vaya directamente a ver la tele, si no quieres que haga eso, no lo pongas.
    Esta es la forma de enviar comandos al equipo cuando queramos, en este caso el comando es el espacio " ", pero podemos mandarle una serie de ellos, podeis ver uan lista de los comandos en: Pág 23 post #344.

    6) Para terminar la edición, pulsamos <ESC> y ZZ (dos zetas mayúsculas) para guardar el fichero y salir de vi

    7) Ahora vamos a crear con vi el fichero de comandos que ejecutará el cron para detener el equipo
    Código:
    vi shutdown
    Nos aparece un fichero en blanco, vamos a insertar el contenido, para ello ejecutamos el comando i (i minúscula) que nos pone en modo texto para insertar, copiamos estas líneas desde aquí mismo:
    Código:
    #!/bin/sh
    echo "APAGADO:" `date -R` >> /usr/local/etc/shutdown.log
    echo "#" >> /tmp/command_sender.txt
    echo "O" >> /tmp/command_sender.txt
    y las pegamos en vi, damos botón derecho sobre el vi, y le damos pegar, para que se inserten las líneas ¿OK?
    Cuando tengamos las líneas en el fichero volvemos al modo comando con <ESC> y para terminar la edición, pulsamos ZZ (dos zetas mayúsculas) para guardar el fichero y salir de vi

    Muy bien ya tenemos el fichero shutdown creado, si quieres ver coma ha quedado usa:
    Código:
    cat shutdown
    8) Este fichero no es ejecutable, vamos a hacer que lo sea:
    Vemos como está el fichero con:
    Código:
    ls -l shutdown
    Lo hacemos ejecutable
    Código:
    chmod +x shutdown
    Y lo volvemos a ver
    Código:
    ls -l shutdown
    ¿Veis el cambio en la parte de los flags de la izquierda?, tiene que ser algo así:
    Código:
    -rwxr-xr-x    1 root     root          139 Feb 16 16:04 shutdown
    9) Ahora vamos a programar el cron para que ejecute nuestro comando, aquí va a intervenir la hora de nuestro sistema, yo lo tengo en +1 y por lo tanto si quiero que me apague a las 3 de la mañana tengo que poner a las 2, esto lo veis simplemente con el comando date para ver la hora real del sistema y "calculeis" lo que teneis que poner en el cron, ejecutais:
    Código:
    date
    Thu Feb 17 10:28:01 CST 2011
    y comparais el resultado con la hora real, para que sepais a que ateneros, el cron se ejecutará con la hora mostrada por date.
    Para ver lo que hay programado en el cron se usa el comando:
    Código:
    crontab -l
    Y para añadir y/o modificar algo en el cron se usa el comando:
    Código:
    crontab -e
    ¿Adivinais con que se editan estas entradas, EXACTO, con vi!!
    Nos aparece un fichero en blanco, vamos a insertar el contenido, para ello ejecutamos el comando i (i minúscula) que nos pone en modo texto para insertar, copiamos estas líneas desde aquí mismo:
    Código:
    0 2 * * * /usr/local/etc/shutdown
    y las pegamos en vi, damos botón derecho sobre el vi, y le damos pegar, para que se inserten las líneas ¿OK?
    Cuando tengamos las líneas en el fichero volvemos al modo comando con <ESC> y para terminar la edición, pulsamos ZZ (dos zetas mayúsculas) para guardar el fichero y salir de vi
    Podemos ver el contenido de nuevo con
    Código:
    crontab -l
    Ahora vamos a explicar lo que significa cada campo del cron, para que lo podais modificar a vuestro gusto.
    En esta página:
    http://www.pantz.org/software/cron/croninfo.html
    podreis ver una explicación mas exhaustiva, yo os voy a comentar cada campo rápidamente:
    Código:
    # Minute   Hour   Day of Month       Month          Day of Week        Command    
    # (0-59)  (0-23)     (1-31)    (1-12 or Jan-Dec)  (0-6 or Sun-Sat)                
        0        2          12             *               0,6           /usr/bin/find
    0: Nuestro primer campo es el minuto de ejecución: 0 en este caso
    2: Segundo campo, hora de ejecución las 2, como mi sistema va una hora por detrás de la hora real, en realidad se ejecutará a las 3
    *: Tercer campo, día del mes, * significa todos, hay otros valores posibles, miradlo en la página
    *: Cuarto campo, mes, * significa todos
    *: Quinto campo, dia de la semana, * significa todos
    /usr/local/etc/shutdown: Sexto campo, comando a ejecutar, en este caso nuestro comando previamente creado.

    Yo acabaré poniendo una hora para cada dia de la semana, según lo que se grabe, el cron puede tener muchos comandos para ejecutar a distintas horas y de distintas formas, cada línea es un comando, pero puede haber muchas...

    ADVERTENCIA! a lo mejor el cron no se ejecuta el primer día, no desespereis, se debería ejecutar al menos a partir del segundo día y siguientes. A mi siempre me ha hecho esta jugarreta...

    10) Ahora vamos a ejecutar un proceso que simulará el arranque del sistema con nuestro nuevo fichero rcS. con esto intentaremos evitar cuelgues en el arranque y que tengamos que instalar el firmware de nuevo, si funciona, podremos arrancar mas tranquilamente y si no funciona, podremos volver a recuperar nuesta copia original del rcS, ¿OK?
    Estamos situados en el directorio /usr/local/etc

    Detenemos todos los procesos, ojo, esto "apagará" el equipo y dejará de verse, de tal forma que el único control lo tendremos desde la sesión de telnet, no hay que desconectarse de telnet bajo ningún concepto.
    Código:
    stopall
    Ahora vereis como se detiene todo con una ristra de mensajes, comprueba que el equipo está "muerto" y no se ve nada en la pantalla, pero tiene la luz azul.
    Para probar nuestro fichero ejecutamos:
    Código:
    ./rcS
    Otra ristra de mensajes de arranque (mas larga), y al final el equipo tiene que arrancar perfectamente (con tranquilidad, dale su tiempo).
    En cualquieer caso, pueden aparecer unos mensajes iguales cada poco tiempo que no dejan teclear nada, no te preocupes es normal.
    Si el equipo ha arrancado bien, significa que tu fichero rcS es válido, si no, hay que volver a la versión original.

    Código:
    SI EL EQUIPO NO ARRANCA:
    Páralo de nuevo tecleando:
    stopall y <RETORNO>
    teclealo rápido entre los mensajes que aparecen, no te preocupes si lo tecleas entre ellos, algo así como:
    sto
    mensaje
    pal
    mensaje
    l<RETORNO>
    Ahora vamos a intentar recuperar el fichero original con
    Código:
    cp rcS.orig rcS
    y lo volvemos a probar con
    Código:
    ./rcS
    Cuando el equipo arranque (se vea el contenido en la pantalla del televisor), podemos apagarlo y arrancarlo de nuevo
    Al usar el stopall, puede que el equipo se "niegue" a apagarse, en ese caso podemos desenchufarlo y volverlo a enchufar, pero siempre que nos hayamos asegurado que nuestro fichero rcS arranca perfectamente, con los pasos anteriores.

    Por cierto, le he puesto un log al proceso, para que podamos ver cuando se ha ejecutado, para ello, cuando todo esté en marcha, podemos ver de vez en cuando como va todo, entrando con telnet y ejecutando:
    Código:
    more /usr/local/etc/shutdown.log
    con eso veremos si ha funcionado el shutdown y a que hora se ha hecho.

    Como es lógico yo NO he podido probar todas las combinaciones que se puedan producir, y esta es la forma de comprobarlo, pero lo mejor es que reviseis todo lo que tecleeis en el vi varias veces antes de darlo por bueno, TODO es importante, los espacios entre palabras, las mayúsculas y minúsculas, los distintos tipos de comillas, los símbolos... Lo dicho miradlo con lupa.

    Como podeis ver este con este "tocho" he querido tener en cuenta todos los posibles problemas que podeis encontraros, parece mucho pero al final son cuatro cosas, pero he preferido explicaroslo (con mucho curre), en vez de poneros los ficheros y deciros copiar esto en tal sitio y andando.

    Por favor, si encontrais alguna errata o algún problema decidlo cuanto antes para poder corregirlo, y si os funciona, podeis comentarlo en el foro para comprobar que funciona.

    Buen trabajo, y buena suerte

    Saludos
    Posts claves:
    Instalación de sqlite3 y cron: Pág 35 #515
    Grabaciones siempre disponibles: Pág 48 #708
    Guardas en las programaciones: Pág 62 #929
    Curso básico de vi: Pág 65 #974
    Apagado programado: Pág 66 #984
    Programa RecTimerMgr 0.2.0.2: Pág 103 #1538

  2. #2
    principiante
    Registro
    26 ene, 11
    Mensajes
    64
    Agradecido
    13 veces

    Predeterminado Re: Apagado programado

    Cita Iniciado por Carva Ver mensaje
    Como podeis ver este con este "tocho" he querido tener en cuenta todos los posibles problemas que podeis encontraros, parece mucho pero al final son cuatro cosas, pero he preferido explicaroslo (con mucho curre), en vez de poneros los ficheros y deciros copiar esto en tal sitio y andando.

    Por favor, si encontrais alguna errata o algún problema decidlo cuanto antes para poder corregirlo, y si os funciona, podeis comentarlo en el foro para comprobar que funciona.

    Buen trabajo, y buena suerte

    Saludos
    Hola Carva. Gran trabajo.
    He seguido todos los pasos y no ha habido problema (para ser la primera vez que utilizaba el vi, ya es mucho...)
    Una duda. Mi archivo rcS tenía las lineas del cron pero así:
    Código:
    # <CUSTOM01
    # Start cron daemon
    #/usr/local/etc/opt/sbin/cron
    # CUSTOM01>
    Difería en tu tutorial que la 3º linea tú la tienes sin #. He quitado la almohadilla tal como lo tienes tú ¿es correcto?

    Otra duda es saber si a la hora del shutdown está grabando algo ¿se apagará igual?
    Muchas gracias

    PD.: No podía aguantar y he cambiado la hora del aparato a las 02:58 y a las 3:00 se ha apagado! PERFECTO

    Saludos a todos.
    Última edición por ohhvaya; 17/02/2011 a las 17:31

  3. #3
    honorable Avatar de Carva
    Registro
    13 nov, 10
    Mensajes
    613
    Agradecido
    160 veces

    Predeterminado Re: Apagado programado

    Cita Iniciado por ohhvaya Ver mensaje
    Hola Carva. Gran trabajo.
    He seguido todos los pasos y no ha habido problema (para ser la primera vez que utilizaba el vi, ya es mucho...)
    Una duda. Mi archivo rcS tenía las lineas del cron pero así:
    Código:
    # <CUSTOM01
    # Start cron daemon
    #/usr/local/etc/opt/sbin/cron
    # CUSTOM01>
    Difería en tu tutorial que la 3º linea tú la tienes sin #. He quitado la almohadilla tal como lo tienes tú ¿es correcto?

    Otra duda es saber si a la hora del shutdown está grabando algo ¿se apagará igual?
    Muchas gracias

    PD.: No podía aguantar y he cambiado la hora del aparato a las 02:58 y a las 3:00 se ha apagado! PERFECTO

    Saludos a todos.
    Hola ohhvaya, si tenías esa estructura en el rcS es porque ya has usado un rcS mio anterior con el cron sin usar, pero es correcto, ahora tenemos que usar el cron y la linea tiene que estar descomentada. Perfecto.

    Si el equipo está grabando ¿qué pasa?, pues no lo se, eso no lo he probado, cuando pasa eso y tu estás delante, el equipo te pregunta si quieres apagar en cuyo caso hay que confirmarlo; si pasa eso y nadie responde...., pues se quedará el cartelito con la pregunta y no se apagará, pero son conjeturas si alguien lo prueba que lo ponga para que nos enteremos todos.

    Pues has tenido suerte de que se te apague, a mi nunca me ha funcionado el cron a la primera, siempre a la segunda , pero bueno, mejor!

    ¿Ha sido muy duro usar el vi?

    Saludos
    Posts claves:
    Instalación de sqlite3 y cron: Pág 35 #515
    Grabaciones siempre disponibles: Pág 48 #708
    Guardas en las programaciones: Pág 62 #929
    Curso básico de vi: Pág 65 #974
    Apagado programado: Pág 66 #984
    Programa RecTimerMgr 0.2.0.2: Pág 103 #1538

  4. #4
    principiante
    Registro
    26 ene, 11
    Mensajes
    64
    Agradecido
    13 veces

    Predeterminado Re: Apagado programado

    Cita Iniciado por Carva Ver mensaje
    ¿Ha sido muy duro usar el vi?
    Saludos
    jeje. La evolución va al revés. El comando Edit del antiguo MSDOS era mejor!

  5. #5
    honorable Avatar de Carva
    Registro
    13 nov, 10
    Mensajes
    613
    Agradecido
    160 veces

    Predeterminado Re: Apagado programado

    Cita Iniciado por ohhvaya Ver mensaje
    jeje. La evolución va al revés. El comando Edit del antiguo MSDOS era mejor!
    Pues discrepo ohhvaya, el vi es ANTERIOR a MSDOS y te aseguro que el Edit de MSDOS no puede hacer ni la centésima parte de lo que podrías hacer con vi.

    Saludos
    Posts claves:
    Instalación de sqlite3 y cron: Pág 35 #515
    Grabaciones siempre disponibles: Pág 48 #708
    Guardas en las programaciones: Pág 62 #929
    Curso básico de vi: Pág 65 #974
    Apagado programado: Pág 66 #984
    Programa RecTimerMgr 0.2.0.2: Pág 103 #1538

  6. #6
    aspirante
    Registro
    19 ago, 10
    Mensajes
    10
    Agradecido
    1 veces

    Predeterminado Re: Apagado programado

    Madre mía en cuanto pasan unos días la cantidad de cosas que os estáis currando!!

    que pasada lo de enviar comandos a través del fichero

    Tengo un pequeño problemilla, he instalado el cron y esta ejecutándose, pero no me reconoce el comando:
    crontab -l
    y no puedo acceder al cron, he probado también a ejecutarlo desde el path donde esta instalado el cron pero nada ¿que es lo que estoy haciendo mal?

    Pongo una captura de la consola:

    BusyBox v1.1.3 (2010.04.29-10:11+0000) Built-in shell (ash)
    Enter 'help' for a list of built-in commands.

    / # crontab -l
    -sh: crontab: not found
    / # ps | grep cron
    187 root 380 S /usr/local/etc/opt/sbin/cron
    803 root 304 S grep cron
    / #

    Para ejecutar scripts, no me vale con hacerlos ejecutables y llamarlos por el nombre, tengo que arrancarlos con el nombre de la shell delante "ash nombreScript", no se si esto puede tener algo que ver, supongo que no.

    Por cierto lo de la desincronicacion del audio-vídeo al retomar la ejecución de una grabación, dejando unos 15 segundos como me comentasteis, parece que va bien, es un poco rollo lo de esperar pero parece que funciona.

    Un saludo.

  7. #7
    honorable Avatar de Carva
    Registro
    13 nov, 10
    Mensajes
    613
    Agradecido
    160 veces

    Predeterminado Re: Apagado programado

    Cita Iniciado por gregori Ver mensaje
    Madre mía en cuanto pasan unos días la cantidad de cosas que os estáis currando!!

    que pasada lo de enviar comandos a través del fichero

    Tengo un pequeño problemilla, he instalado el cron y esta ejecutándose, pero no me reconoce el comando:
    crontab -l
    y no puedo acceder al cron, he probado también a ejecutarlo desde el path donde esta instalado el cron pero nada ¿que es lo que estoy haciendo mal?

    Pongo una captura de la consola:

    BusyBox v1.1.3 (2010.04.29-10:11+0000) Built-in shell (ash)
    Enter 'help' for a list of built-in commands.

    / # crontab -l
    -sh: crontab: not found
    / # ps | grep cron
    187 root 380 S /usr/local/etc/opt/sbin/cron
    803 root 304 S grep cron
    / #

    Para ejecutar scripts, no me vale con hacerlos ejecutables y llamarlos por el nombre, tengo que arrancarlos con el nombre de la shell delante "ash nombreScript", no se si esto puede tener algo que ver, supongo que no.

    Por cierto lo de la desincronicacion del audio-vídeo al retomar la ejecución de una grabación, dejando unos 15 segundos como me comentasteis, parece que va bien, es un poco rollo lo de esperar pero parece que funciona.

    Un saludo.
    Hola gregori, ya veo tu problema.

    Lo que te ocurre es que no tienes el path adecuado para ejecutar el crontab.
    La culpa es mia por no haberlo previsto, hay que editar el fichero /usr/local/etc/profile y añadirle las líneas marcadas en rojo en la posición indicada:
    Código:
    # Path manipulation
    if [ `id -u` = 0 ]; then
            pathmunge /sbin
            pathmunge /usr/sbin
            pathmunge /usr/local/sbin
    fi
    
    pathmunge /usr/local/bin
    
    
    # <CUSTOM01
    # Add path to installed packages
    pathmunge /usr/local/etc/opt/sbin
    pathmunge /usr/local/etc/opt/bin
    # CUSTOM01>
    
    
    # No core files by default
    #ulimit -S -c 0 > /dev/null 2>&1
    #limit coredumpsize unlimited
    para ello, ya sabes, vi /usr/local/etc/profile

    Como veis el vi se usa para todo.

    Aún así, para ejecutar un comando/fichero cualquiera, si sabes donde está se puede usar la ruta completa del comando, o colocarse en el directorio donde está y anteponer ./ a su nombre, en este caso, para ejecutar el crontab sin tener su ruta dentro del path de ejecución se pueden usar estas dos maneras:
    Código:
    /usr/local/etc/opt/bin/crontab
    ó
    cd /usr/local/etc/opt/bin
    ./crontab
    Esto es una norma GENERAL, no uses lo de ash script

    Cuando yo retomo una grabación y me sale el mensaje de confirm/cancel, lo que hago es esperar a que se vea y se oiga, en ese momento le das a confirm y se va al sitio inmediatamente y no se desincroniza nada.

    Saludos
    Posts claves:
    Instalación de sqlite3 y cron: Pág 35 #515
    Grabaciones siempre disponibles: Pág 48 #708
    Guardas en las programaciones: Pág 62 #929
    Curso básico de vi: Pág 65 #974
    Apagado programado: Pág 66 #984
    Programa RecTimerMgr 0.2.0.2: Pág 103 #1538

  8. #8
    aspirante
    Registro
    19 ago, 10
    Mensajes
    10
    Agradecido
    1 veces

    Predeterminado Re: Apagado programado

    Gracias Carba,

    ahora ya me encuentra el crontab, pero me dice que no hay crontab para el root

    / # crontab -l
    no crontab for root

    así que he probado a editar, alomejor al no tener ninguna programación??

    / # crontab -e

    5 19 19 2 * /tmp/hdd/volumes/HDD1/BT/prueba

    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    crontab: installing new crontab
    / # crontab -l
    # DO NOT EDIT THIS FILE - edit the master and reinstall.
    # (/tmp/crontab.XXXX3hRbMH installed on Sat Feb 19 19:04:51 2011)
    # (Cron version V5.0 -- $Id: crontab.c,v 1.12 2004/01/23 18:56:42 vixie Exp $)
    5 19 19 2 * /tmp/hdd/volumes/HDD1/BT/ash prueba.ash

    lo de no editar este fichero me parece que no esta muy bien y en cualquier caso no me ha funcionado
    ¿Es normal? ¿hay que crear el fichero de alguna manera antes? ¿hay que cambiar de usuario?

    Por si da alguna pista en el directorio /tmp/ me aparecen dos ficheros de nombre parecido, pero no igual al que aparece al listar las tareas del cron:
    -rw------- 1 root root 0 Jan 1 1970 crontab.XXXXP5xYLn
    -rw------- 1 root root 0 Jan 1 1970 crontab.XXXXcq1Xl6


    Un abrazo.
    Última edición por gregori; 19/02/2011 a las 21:24

  9. #9
    honorable Avatar de Carva
    Registro
    13 nov, 10
    Mensajes
    613
    Agradecido
    160 veces

    Predeterminado Re: Apagado programado

    Cita Iniciado por gregori Ver mensaje
    Gracias Carba,

    ahora ya me encuentra el crontab, pero me dice que no hay crontab para el root

    / # crontab -l
    no crontab for root

    así que he probado a editar, alomejor al no tener ninguna programación??

    / # crontab -e

    5 19 19 2 * /tmp/hdd/volumes/HDD1/BT/prueba

    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    crontab: installing new crontab
    / # crontab -l
    # DO NOT EDIT THIS FILE - edit the master and reinstall.
    # (/tmp/crontab.XXXX3hRbMH installed on Sat Feb 19 19:04:51 2011)
    # (Cron version V5.0 -- $Id: crontab.c,v 1.12 2004/01/23 18:56:42 vixie Exp $)
    5 19 19 2 * /tmp/hdd/volumes/HDD1/BT/ash prueba.ash

    lo de no editar este fichero me parece que no esta muy bien y en cualquier caso no me ha funcionado
    ¿Es normal? ¿hay que crear el fichero de alguna manera antes? ¿hay que cambiar de usuario?

    Por si da alguna pista en el directorio /tmp/ me aparecen dos ficheros de nombre parecido, pero no igual al que aparece al listar las tareas del cron:
    -rw------- 1 root root 0 Jan 1 1970 crontab.XXXXP5xYLn
    -rw------- 1 root root 0 Jan 1 1970 crontab.XXXXcq1Xl6


    Un abrazo.
    Hola gregori, vamos por partes:

    El primer crontab -l NO tiene que tener nada ¿no?, el mensaje que te da no quiere decir que no funcione sino que el usuario root TODAVIA no ha programado nada.

    Con el crontab -e le has añadido una programación al usuario root, podrías haber añadido mas cosas, cada línea que pongas es una programación mas para el usuario root, pero para empezar, vamos de una en una.
    En concreto le has dicho que ejecute el 19/2 a las 19:05 el fichero prueba, pero no te coincide lo que pones en el crontab -e (/tmp/hdd/volumes/HDD1/BT/prueba) con lo que pones en el crontab -l (/tmp/hdd/volumes/HDD1/BT/ash prueba.ash), así que tendrás que decirme cual de los dos comandos has usado de verdad.

    ¿Por que dices que lo de editar el fichero no está muy bien?, es que NO SE DEBE editar ese fichero NUNCA, todo debe hacerse a través de crontab -e. Si quieres tener un fichero APARTE y controlado por ti para tener el contenido del crontab, puedes hacerlo; en ese caso se activaría así:
    crontab nombrefichero
    Pero para tener una línea de prueba no te lo recomiendo.

    Ahora viene la parte dura ¿por que dices que no ha funcionado?, ¿que contiene el fichero de prueba? y sobre todo ¿cual has usado? porque ficheros puedes tener hasta 3 versiones según lo que has puesto aquí:
    prueba
    prueba.ash
    ash prueba.ash

    Dime por favor, cual has usado, que contiene el fichero y te sigo contestando...

    Lo del usuario NO es problema porque aquí solo tenemos uno: root, así que no hay que hacer nada especial.

    Saludos
    Posts claves:
    Instalación de sqlite3 y cron: Pág 35 #515
    Grabaciones siempre disponibles: Pág 48 #708
    Guardas en las programaciones: Pág 62 #929
    Curso básico de vi: Pág 65 #974
    Apagado programado: Pág 66 #984
    Programa RecTimerMgr 0.2.0.2: Pág 103 #1538

  10. #10
    aspirante
    Registro
    19 ago, 10
    Mensajes
    10
    Agradecido
    1 veces

    Predeterminado Re: Apagado programado

    El lió que he formado con los nombres:
    /tmp/hdd/volumes/HDD1/BT/ash prueba.ash
    y
    /tmp/hdd/volumes/HDD1/BT/prueba
    es que he probado varias veces, y me he liado en los copy paste de la consola

    El contenido del fichero es el mismo en ambos casos:
    #!/bin/sh
    echo "Mute prueba:" 'date -R' >> /tmp/apagar.log
    echo "m" >> /tmp/cmd.txt

    desde la consola en /tmp/hdd/volumes/HDD1/BT/
    si tecleo prueba.ash no me lo ejecuta (aunque tiene tiene permiso de ejecución, y metí las lineas en el /usr/local/etc/profile).
    Si ejecuto: ash prueba.ash si lo ejecuta y crea la linea de log.
    pero a la hora programada no me crea la linea del log.

    Lo de que esta mal editar, no me refería al editar en si el fichero del cron con el VI, solo pensé que al darme ese aviso:
    # DO NOT EDIT THIS FILE - edit the master and reinstall.
    no era ese el fichero que tenia que editar, es decir, que había hecho algo mal.

    gracias por la ayuda.

  11. #11
    aspirante
    Registro
    19 ago, 10
    Mensajes
    10
    Agradecido
    1 veces

    Predeterminado Re: Apagado programado

    Carba,

    acabo de darme cuenta del error del ash, ya que si ejecuto desde por ejemplo /tmp/
    /tmp/hdd/volumes/HDD1/BT/ash prueba.ash
    lógicamente no encuentra ash en ese directorio,
    es que estoy un poco espeso y me he liado con las pruebas yo solo, no se puede estar a ocho cosas a la vez y pretender hacer las pruebas bien.

    ahora ejecuto a mano desde el raiz:
    /tmp/hdd/volumes/HDD1/BT/prueba.ash

    y funciona, genera el log, pero desde el cron sigue sin salirme,
    Voy a dejar esto programado para esta noche y mañana haber si ejecuta alguno:

    / # crontab -l
    # DO NOT EDIT THIS FILE - edit the master and reinstall.
    # (/tmp/crontab.XXXXJ7Kl8Y installed on Sat Feb 19 21:31:45 2011)
    # (Cron version V5.0 -- $Id: crontab.c,v 1.12 2004/01/23 18:56:42 vixie Exp $)
    0 22 19 2 * /tmp/hdd/volumes/HDD1/BT/prueba.ash
    0 1 20 2 * /tmp/hdd/volumes/HDD1/BT/prueba.ash
    0 9 20 2 * /tmp/hdd/volumes/HDD1/BT/prueba.ash
    0 12 20 2 * /tmp/hdd/volumes/HDD1/BT/prueba.ash
    / #

    Un abrazo.
    Última edición por gregori; 19/02/2011 a las 23:42

  12. #12
    honorable Avatar de Carva
    Registro
    13 nov, 10
    Mensajes
    613
    Agradecido
    160 veces

    Predeterminado Re: Apagado programado

    Cita Iniciado por gregori Ver mensaje
    Carba,

    acabo de darme cuenta del error del ash, ya que si ejecuto desde por ejemplo /tmp/
    /tmp/hdd/volumes/HDD1/BT/ash prueba.ash
    lógicamente no encuentra ash en ese directorio, en cambio al ejecutar
    /tmp/hdd/volumes/HDD1/BT/prueba.ash
    me funciona bien, con las pruebas del cron me he liado, voy ha probarlo y ya te comento.
    Perdona por las molestias, pero soy un tanto novato en Linux
    sabiendo que el fichero del cron lo estaba editando correctamente, ya puedo seguir solo,
    aunque ahora me reclaman, así que ya lo pruebo mañana.

    Muchas gracias
    OK gregori, no se si no me he explicado bien.
    Hay dos casos para ejecutar cualquier fichero (nombre=prueba en tu caso):
    1) Que estés situado en el mismo directorio donde está el fichero, en cuyo caso tienes que ejecutarlo poniendo: ./prueba (PUNTO BARRAINCLINADA prueba)
    2) Que estés situado en un directorio distinto, en ese caso tienes que poner la ruta completa: /path/completo/al/directorio/de/prueba.

    No tiene nada que ver con el path que añades en el fichero profile, esos paths son para ejecutar COMANDOS del sistema no tus propios scripts.

    Bueno, en cualquier caso, recuerda que te dije que el cron a mi me había funcionado siempre a la SEGUNDA, tienes que probarlo con algo que se repita mas frecuentemente, porque la prueba que has hecho de ejecutar algo el 19/2 a las 19:05, se repetiría el año que viene, y eso va a ser mucho esperar ¿no?

    Voy a descubrirte por qué te pedía el contenido del fichero, si ejecutas algo que salga por la salida estandar (un echo simple, por ejemplo), esa salida se "pierde" porque para ejecutar el comando se abre un shell propio y es en la salida estandar de ESE shell donde aparecería el contenido del echo, pero veo que mandas la salida de los comandos a ficheros de log que luego puedes comprobar, eso está bien hecho.

    Y no te preocupes que no es ninguna molestia, a mi me gusta que la gente entienda lo que está haciendo y si puedo ayudarles lo haré.

    Saludos
    Posts claves:
    Instalación de sqlite3 y cron: Pág 35 #515
    Grabaciones siempre disponibles: Pág 48 #708
    Guardas en las programaciones: Pág 62 #929
    Curso básico de vi: Pág 65 #974
    Apagado programado: Pág 66 #984
    Programa RecTimerMgr 0.2.0.2: Pág 103 #1538

  13. #13
    recién llegado
    Registro
    27 abr, 14
    Mensajes
    1
    Agradecido
    0 veces

    Predeterminado Re: Apagado programado

    Hola

    Carva ha explicado como hacer un "apagado programado", pero me gustaría saber si alguien ha probado un apagado instantáneo, entrando por telnet (root) y lanzando el comando poweroff, ya que el comando shutdown de unix no existe en esta máquina. Hay comandos reboot, halt y poweroff pero no tengo conocimientos suficientes para saber la que puedo armar si los lanzo

    Gracias

+ Responder tema

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
Powered by vBulletin® Version 4.2.3
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.
Search Engine Optimization by vBSEO
Image resizer by SevenSkins