1. ¡OFERTA! con cupón "DIRVPS": hosting por $0,01 y también VPS Linux y Windows por $0,01 el primer mes por Interserver ← publi
    Descartar aviso
Descartar aviso
Al usar este sitio web, aceptas que nosotros y nuestros socios podamos establecer cookies para fines tales como personalizar el contenido y la publicidad. Más información.

No logro ejecutar un archivo SH en crontab -e

Tema en 'Asuntos Técnicos' iniciado por raxp, 30 Dic 2015.

  1. raxp

    raxp Usuario activo

    Tengo un archivo en /home/sh/archivo.sh
    con permisos chmod +x

    El bind9 lo tengo en stop lo que quiero es encenderlo (Refrescar) automáticamente con cron cada 1 minuto.



    dentro de archivo.sh está escrito
    CODE, HTML o PHP Insertado:
    #!/bin/sh
    service bind9 restart
    


    Configurando en cron para que se ejecute cada 1 minuto.
    crontab -e
    CODE, HTML o PHP Insertado:
    */1 * * * * /home/sh/archivo.sh
    


    Pasó 1 minuto y no logró encender el bind9 me envió el siguiente error:
    vi /var/log/root
    CODE, HTML o PHP Insertado:
    From root@sv1.midominio.com Tue Dec 29 17:02:01 2015
    Return-Path: <root@sv1.midominio.com>
    Received: from sv1.midominio.com (localhost.localdomain [127.0.0.1])
    by sv1.midominio.com (8.14.4/8.14.4/Debian-4) with ESMTP id tBTM21aZ004416
    for <root@sv1.midominio.com>; Tue, 29 Dec 2015 17:02:01 -0500
    Received: (from root@localhost)
    by sv1.midominio.com (8.14.4/8.14.4/Submit) id tBTM21mY004415
    for root; Tue, 29 Dec 2015 17:02:01 -0500
    Date: Tue, 29 Dec 2015 17:02:01 -0500
    Message-Id: <201512292202.tBTM21mY004415@sv1.midominio.com>
    From: root@sv1.midominio.com (Cron Daemon)
    To: root@sv1.midominio.com
    Subject: Cron <root@sv1> sh /home/sh/archivo.sh
    Content-Type: text/plain; charset=ANSI_X3.4-1968
    X-Cron-Env: <SHELL=/bin/sh>
    X-Cron-Env: <HOME=/root>
    X-Cron-Env: <PATH=/usr/bin:/bin>
    X-Cron-Env: <LOGNAME=root>
    
    /home/sh/archivo.sh: 2: /home/sh/archivo.sh: service: not found
    
    
     
  2.  
  3. raxp

    raxp Usuario activo

    Si en el archivo.sh pongo
    CODE, HTML o PHP Insertado:
    #!/bin/bash
    echo "Hello" >> /tmp/hello.txt
    
    Me logra crear un archivo hello.txt en la carpeta /tmp/

    Entonces parece ser que el comando service no lo reconoce cron


    Es extraño ya que si manualmente ejecuto desde el terminal
    CODE, HTML o PHP Insertado:
    sh /home/sh/archivo.sh
    
    Logra cargar el comando service bind9 restart, pero si lo dejo a que lo haga cron no lo reconoce.


    Si alguien ve en esto un problema que lo digaa
     
  4. raxp

    raxp Usuario activo

    Listo problema resuelto
    el comando service no reconoce cron
    se tenía que hacerlo de esta forma

    CODE, HTML o PHP Insertado:
    #!/bin/bash
    /etc/init.d/bind9 restart
    
     
  5. WebTech

    WebTech Súper Moderador Miembro del Staff Moderador CH

    Para que el cron reconozca el comando service quizás deberías pasarle la ruta completa al script, ej:

    CODE, HTML o PHP Insertado:
    #!/bin/sh
    /sbin/service bind9 restart
    Suele estar en "/sbin", sino ejecuta: which service para saber donde está.

    Por si quieres probar, igualmente veo que ya lo dejaste funcionando con init.d

    Un saludo,
     
    A raxp le gusta esto.
  6. Skamasle

    Skamasle Usuario activo

    Lo mejor sería ver donde esta ya que puede variar depende de la distro.

    $ whereis service
    service: /usr/sbin/service

    Lo curioso es querer reiniciar el bind9 cada minuto, podría afectar a muchas peticiones que lleguen justo cuando reinicia.

    Si es para refrescar el contenido lo ideal sería un reload

    . Pero bueno cada uno a su bola :/
     


Alojamiento web, Hosting Reseller, Servidores Dedicados - All in Hosting


    
    
    
    
Blog · Sitios amigos: GuiaHosting · Unidominios · Interalta ·