Cron, crontab y scrips

Raul Veleiro A (en Yahoo) raul_veleiro en yahoo.es
Mie Oct 17 19:40:05 BST 2007


--- Terra 1 <torrecollons en terra.es> escribió:

> Hola a todos:
> 
> Tengo un problema con el cron, si le digo que
> ejecute una orden de shell 
> como pueda ser cp o mv o cualquiera de estas, se
> ejecuta sin problemas, 
> pero cuando le digo que me ejecute un script no hay
> manera, no se 
> ejecuta, os pongo a continuación un ejemplo de
> script:
> 
> #!/bin/bash
> # Aquest script serveix per conectar als escriptoris
> remots
> # per linia de comanaments se l'hi pasen els
> arguments per
> # tal de conectarse.
> #  1 : Escriptori Remot Informatica a IMTG per
> Windows
> #  2 : Escriptori Remot Oficina a IMTG per Windows
> #  3 : Escriptori Remot Informatica a IMTG per Linux
> #  4 : Escriptori Remot Oficina a IMTG per Linux
> #  5 : Conexio linia de comanaments a SVCN per Linux
> #  6 : Escriptori Remot Casal CLN per Windows
> #  7 : Escriptori Remot Ajuntament DXS per Windows
> #  8 : Escriptori Remot Casal CRM per Windows
> #  9 : Escriptori Remot Casal TRRS per Windows
> # 10 : Escriptori Remot Casal MSBRD per Windows
> # 11 : Escriptori Remot Casal CLN per Windows
> 
> 
> opt=$( zenity --list --text "Selecciona una estacio
> remota" --width 580 
> --height 440 --radiolist --column "Botons" --column
> "Numero" --column 
> "Maquina Remota" --hide-column "Numero" TRUE 1
> "Escriptori Remot 
> Informatica a IMTG per Windows" FALSE 2 "Escriptori
> Remot Oficina a IMTG 
> per Windows" FALSE 3 "Escriptori Remot Informatica a
> IMTG per Linux" 
> FALSE 4 "Escriptori Remot Oficina a IMTG per Linux"
> FALSE 5 "Conexio 
> linia de comanaments a SVCN per Linux" FALSE 6
> "Escriptori Remot Casal 
> CLN per Windows" FALSE 7 "Escriptori Remot
> Ajuntament DXS per Windows" 
> FALSE 8 "Escriptori Remot Casal CRM per Windows"
> FALSE 9 "Escriptori 
> Remot Casal TRRS per Windows" FALSE 10 "Escriptori
> Remot Casal MSBRD per 
> Windows" FALSE 11 "Escriptori Remot Casal CLN per
> Windows" );
> 
> # Mirem si s'ha pitjat cancel.lar, si es aixi sortim
> de l'script
> case $? in
>     "0")
>         ;;
> 
>     "1")
>         exit;;   
> esac
> 
> # A continuacio evaluem el valor de la variable opt
> i actuem en 
> consecuencia amb un CASE
> case $opt in
>     "1")
>         rdesktop xxx.xxx.xxx.xxx -u miusuario -p
> mipassword -a 24 -g 
> 1024x768 -x b -z -P -f -E -k es;;
>     "2")
>         rdesktop xxx.xxx.xxx.xxx -u miusuario -p
> mipassword -a 24 -g 
> 1024x768 -x b -z -P -f -E -k es;;
>     "3")
>         vncviewer xxx.xxx.xxx.xxx:0 -passwd
> "/home/seglinux/.vnc/passwd";;
>     "4")
>         vncviewer xxx.xxx.xxx.xxx:0 -passwd
> "/home/seglinux/.vnc/passwd";;
>     "5")
>         exec /usr/bin/gnome-terminal -x ssh
> miusuario en xxx.xxx.xxx.xxx -p 
> 00000;;
>     "6")
>         rdesktop xxx.xxx.xxx.xxx -u miusuario -p
> mipassword -a 24 -g 
> 1024x768 -x b -z -P -f -E -k es;;
>     "7")
>         rdesktop xxx.xxx.xxx.xxx -u miusuario -p
> mipassword -a 24 -g 
> 1024x768 -x b -z -P -f -E -k es;;
>     "8")
>         rdesktop xxx.xxx.xxx.xxx -u miusuario -p
> mipassword -a 24 -g 
> 1024x768 -x b -z -P -f -E -k es;;
>     "9")
>         rdesktop xxx.xxx.xxx.xxx -u miusuario -p
> mipassword -a 24 -g 
> 1024x768 -x b -z -P -f -E -k es;;
>     "10")
>         rdesktop xxx.xxx.xxx.xxx -u miusuario -p
> mipassword -a 24 -g 
> 1024x768 -x b -z -P -f -E -k es;;
>     "11")
>         rdesktop xxx.xxx.xxx.xxx -u miusuario -p
> mipassword -a 24 -g 
> 1024x768 -x b -z -P -f -E -k es;;
> esac
> 
> # Ens asegure'm de sortir de l'script
> exit               
> 
> No hay manera de que se ejecute, lo he puesto en
> todos los directorios, 
> la orden del crontab es esta
> 
> 17 20 * * * DISPLAY=":0"
> /etc/cron.d/ConexionsRemotes
> 
> lo he puesto en todos los directorios con el path,
> sin el path con la 
> orden exec delante, con .sh, en fin dando vueltas
> por san google no he 
> encontrado nada que lo aclare.
> 
> Si puede ser una pista al ejecutar mail no me sale
> ningún mensaje 
> posterior al mes de julio del 2006
> 
> En syslog solo me aparece la orden CRON con la linea
> del crontab, pero 
> no me indica que ha pasado, no existe ningún
> cron.log o no soy capaz de 
> encontrarlo con locate.
> 
> En fin no me alargo mas, espero si alguien se ha
> encontrado con esto me 
> pueda ayudar.
> 
> Pere
> 
> 
> > -- 
> ubuntu-es mailing list
> ubuntu-es en lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-es

Hola,
No entiendo muy bien porque pones la orden
DISPLAY=":0" en la propia linea de cron, quizas eso lo
deberias hacer dentro del script.

Por otro lado, asegurate poner el nombre del scrip tal
cual esta el el path, es decir, con la extension .sh

Esto debe funcionarte:
17 20 * * * /etc/cron.d/ConexionsRemotes.sh


Raul

Solo hay 10 tipos de personas en el mundo;
Los que entienden binario y los que no:
Use Linux-Ubuntu !
 _o)
 /\\
 \_V


      ______________________________________________ 
Pregunta, Responde, Descubre. 
Comparte tus consejos y opiniones con los usuarios de Yahoo! Respuestas 
http://es.answers.yahoo.com/info/welcome



Más información sobre la lista de distribución ubuntu-es