Título: Problema CRON y AT en Debian Publicado por: rusogumo en 21 Noviembre 2014, 12:48 pm Hola, buenos días,
Soy nuevo en el foro pero llevo visitando vuestra pagina desde hace tiempo ya que muchas veces encuentro soluciones a mis problemas. Mi problema es el siguiente... Llevo varios días intentando hacer un script que parse un archivo .log. Después de conseguirlo decidí que se ejecutaría todos los días para hacer un backup de los datos. El problema viene cuando al probar el script por teclado como usuario root se ejecuta correctamente, pero cuando lo pruebo mediante CRON o AT para que lo haga automaticamente no me da el mismo resultado... Tengo problemas con las variables tipo ${variable:numero} que por linea de comando funcionan correctamente pero con CRON y AT estan vacias Alguien puede arrojar un poco de luz a mi oscuro mundo??? Si necesitais mas información no dudeis en preguntar. Muchas gracias a todos!! Título: Re: Problema CRON y AT en Debian Publicado por: MinusFour en 21 Noviembre 2014, 14:40 pm Vas a tener que poner tu crontab y si puedes el script.
Título: Re: Problema CRON y AT en Debian Publicado por: rusogumo en 21 Noviembre 2014, 14:53 pm Si te refieres al doc que sale cuando ejecutas #crontab -e esta es mi configuración
55 23 * * * /usr/local/nagios/libexec/accessEvents.sh En cuanto al script es un chorrazo... Código
ESPERO QUE ESTA INFORMACIÖN OS AYUDE Título: Re: Problema CRON y AT en Debian Publicado por: MinusFour en 21 Noviembre 2014, 15:17 pm Pues lo primero que me viene a la mente es que no le estas pasando ninguna opcion.
¿Tiene el script permisos de ejecución? Código
¿El crontab de quien es? ¿De un usuario normal? ¿Necesita permisos elevados? Título: Re: Problema CRON y AT en Debian Publicado por: rusogumo en 21 Noviembre 2014, 15:32 pm -rwxrwxrwx 1 root root 7,1K nov 21 12:27 accessEvents.sh
No tiene ninguna opcion el comando de ejecucion del script. Totalmente de acuerdo, pero ese no es el problema... Ejecutar Cron ejecuta. El problema esq se quedan en blanco las variables ${variable:posicion} y van arrastrando el problema y no hace funcionar bien el script, es decir, el resultado no es el mismo Edito con root, ejecuto con root y lo hago todo en root... No se si el Cron ejecuta con otro usuario... Lo desconozco Gracias por la ayuda =) Título: Re: Problema CRON y AT en Debian Publicado por: MinusFour en 21 Noviembre 2014, 15:55 pm -rwxrwxrwx 1 root root 7,1K nov 21 12:27 accessEvents.sh No tiene ninguna opcion el comando de ejecucion del script. Totalmente de acuerdo, pero ese no es el problema... Ejecutar Cron ejecuta. El problema esq se quedan en blanco las variables ${variable:posicion} y van arrastrando el problema y no hace funcionar bien el script, es decir, el resultado no es el mismo Edito con root, ejecuto con root y lo hago todo en root... No se si el Cron ejecuta con otro usuario... Lo desconozco Gracias por la ayuda =) Pues, si ejecutas el script sin ninguna opcion devuelve esto: Código
Es decir, no se ejecuta nada, mas que el *) del primer case. El único que usa la nomenclatura que has puesto para expandir la variable desde un offset es la opcion --parser (que no estás usando). Título: Re: Problema CRON y AT en Debian Publicado por: rusogumo en 21 Noviembre 2014, 16:07 pm OK te comprendo pero veo q no kieres mirar un poco mas haya de lo que tienes enfrente de tus narices...
Te estoy diciendo donde tengo el problema y tu estas emperrado en q son las opciones del comando... Si te vas a quedar mas agusto pones: /usr/local/nagios/libexec/accessEvents.sh --parser y como no tienes ni una base de datos como la mia ni los archivos que tengo yo configurados no te va a hacer nada... pero eso si, el comando tendra sus opciones y podras seguir intentando echarme una mano. Es muy frustrante para mi... perdoname si no soy muy educado pero es la segunda vez que te digo que el comando no es el problema y aunque lo pongas bien no vas a dar con la solución porque no tiene nada que ver las opciones con las que ejecuto el script desde cron. Gracias por tu tiempo... Pero no lo pierdas con el comando que ejecuta el codigo, sino en el codigo... MIL GRACIAS Título: Re: Problema CRON y AT en Debian Publicado por: MinusFour en 21 Noviembre 2014, 16:59 pm OK te comprendo pero veo q no kieres mirar un poco mas haya de lo que tienes enfrente de tus narices... Te estoy diciendo donde tengo el problema y tu estas emperrado en q son las opciones del comando... Si te vas a quedar mas agusto pones: /usr/local/nagios/libexec/accessEvents.sh --parser y como no tienes ni una base de datos como la mia ni los archivos que tengo yo configurados no te va a hacer nada... pero eso si, el comando tendra sus opciones y podras seguir intentando echarme una mano. Es muy frustrante para mi... perdoname si no soy muy educado pero es la segunda vez que te digo que el comando no es el problema y aunque lo pongas bien no vas a dar con la solución porque no tiene nada que ver las opciones con las que ejecuto el script desde cron. Gracias por tu tiempo... Pero no lo pierdas con el comando que ejecuta el codigo, sino en el codigo... MIL GRACIAS Yo simplemente estoy tratando de entender que quieres hacer con el script. Literalmente, solo estas diciendo que no te funciona la manipulacion del string (una operacion de expansion, no una variable). Entonces me pones: Código
Un cron que se ejecuta a las 11:55 pm todos los dias. Me estás diciendo que tu corres el script asi: /usr/local/nagios/libexec/accessEvents.sh y hace algo diferente? Yo solo quiero saber que es lo que esperas de tu script. Lo único que te puedo decir es que ejecutando el script tal cual lo tienes no deberia hacer NADA. Título: Re: Problema CRON y AT en Debian Publicado por: rusogumo en 21 Noviembre 2014, 18:11 pm OKI intentare explicarme mejor =)
El script parsea unos eventos... Lo q hago es coger unos campos concretos del evento que se ha generado (id, usuario, objeto...). Para buscar la cadena q debo almacenar en las variables uso esto: userPos=`echo $line1|grep -bo 'Nombre de cuenta:'|awk -F ":" '{print $1}'` user2=`echo ${line1:$userPos}|awk '{print $5}'` lo q hago en "userPos" es guardar la posicion donde a encontrado la cadena y la cadena que buscaba (220:Nombre de cuenta) En "user2" se almacena la cadena del usuario q busco. El kit de la cuestion es que cuando ejecuto esto por linea de comandos (root# /usr/local/nagios/libexec/accessEvents.sh --parser) el script funciona correctamente, es decir, las variables se llenan y creo el accessResume.log correctamente y rellena las tablas de la DB con los datos que deseo Pero si lo ejecuto mediante CRON (55 23 * * * /usr/local/nagios/libexec/accessEvents.sh --parser) o AT (root# at 23:55 <ENTER> /usr/local/nagios/libexec/accessEvents.sh --parser <ENTER> <ctrl+d>) se ejecuta el script pero las variables "userPos" y"user2" estan vacias, lo q proboca que el accessResumen este incompleto y al no tener valores no almacena en la tablas de la base de datos Lo q no entiendo es porque si lo ejecuto por linea de comandos lo hace bien y si lo hago automaticamente no... Q es lo que hace que esas variables esten vacias... o.O Título: Re: Problema CRON y AT en Debian Publicado por: MinusFour en 21 Noviembre 2014, 19:39 pm OKI intentare explicarme mejor =) El script parsea unos eventos... Lo q hago es coger unos campos concretos del evento que se ha generado (id, usuario, objeto...). Para buscar la cadena q debo almacenar en las variables uso esto: userPos=`echo $line1|grep -bo 'Nombre de cuenta:'|awk -F ":" '{print $1}'` user2=`echo ${line1:$userPos}|awk '{print $5}'` lo q hago en "userPos" es guardar la posicion donde a encontrado la cadena y la cadena que buscaba (220:Nombre de cuenta) En "user2" se almacena la cadena del usuario q busco. El kit de la cuestion es que cuando ejecuto esto por linea de comandos (root# /usr/local/nagios/libexec/accessEvents.sh --parser) el script funciona correctamente, es decir, las variables se llenan y creo el accessResume.log correctamente y rellena las tablas de la DB con los datos que deseo Pero si lo ejecuto mediante CRON (55 23 * * * /usr/local/nagios/libexec/accessEvents.sh --parser) o AT (root# at 23:55 <ENTER> /usr/local/nagios/libexec/accessEvents.sh --parser <ENTER> <ctrl+d>) se ejecuta el script pero las variables "userPos" y"user2" estan vacias, lo q proboca que el accessResumen este incompleto y al no tener valores no almacena en la tablas de la base de datos Lo q no entiendo es porque si lo ejecuto por linea de comandos lo hace bien y si lo hago automaticamente no... Q es lo que hace que esas variables esten vacias... o.O Lo único que se me ocurre es que sea cuestión del PATH o alguna variable de entorno. Agrega un crontab: Código
Sacalas del archivo de texto: Código
Pegalo aquí: Tambien dinos donde esta awk, date y grep. Código
¿Si el path está bien entonces lo único que se me ocurre es que $today cambie? Verifica que este bien y que haya un archivo ahi: Código
Título: Re: Problema CRON y AT en Debian Publicado por: rusogumo en 24 Noviembre 2014, 11:56 am Esta es la salida de los comandos... mis variables de entorno son las siguientes:
env > ~/root.txt cat ~/root.txt HOME=/root LOGNAME=root PATH=/usr/bin:/bin LANG=es_ES.UTF-8 SHELL=/bin/sh PWD=/root En cuanto a la ubicacion de mis programas estas son: whereis grep awk date grep: /bin/grep /usr/share/man/man1/grep.1.gz awk: /usr/bin/awk /usr/bin/X11/awk /usr/share/man/man1/awk.1.gz date: /bin/date /usr/share/man/man1/date.1.gz La variable $today esta correcta... no me da ningun problema y los archivos se crean correctamente. Aunque las variables ${var:pos} esten vacias, el archivo se crea y se rellena con los datos de los que dispone. Descartaria la opcion de que $today funcione mal Espero que os ayude esta información mas que a mi... singo sin saber por donde solucionar esto =( Título: Re: Problema CRON y AT en Debian Publicado por: MinusFour en 24 Noviembre 2014, 16:33 pm Esta es la salida de los comandos... mis variables de entorno son las siguientes: env > ~/root.txt cat ~/root.txt HOME=/root LOGNAME=root PATH=/usr/bin:/bin LANG=es_ES.UTF-8 SHELL=/bin/sh PWD=/root En cuanto a la ubicacion de mis programas estas son: whereis grep awk date grep: /bin/grep /usr/share/man/man1/grep.1.gz awk: /usr/bin/awk /usr/bin/X11/awk /usr/share/man/man1/awk.1.gz date: /bin/date /usr/share/man/man1/date.1.gz La variable $today esta correcta... no me da ningun problema y los archivos se crean correctamente. Aunque las variables ${var:pos} esten vacias, el archivo se crea y se rellena con los datos de los que dispone. Descartaria la opcion de que $today funcione mal Espero que os ayude esta información mas que a mi... singo sin saber por donde solucionar esto =( Puedes imprimir las variables ¿$line1,$userPos,$objectPos a un archivo de texto? Código
Mi bash me permite expander asi ${variable:variable2} sin el $. Prueba así. Aunque no creo que haga mucha diferencia. Título: Re: Problema CRON y AT en Debian Publicado por: rusogumo en 25 Noviembre 2014, 11:18 am Mi bash no me deja usar la variables ${var1:var2} sin el $... se encuentran vacias...
Cuando quito el dolar el programa se comporta por linea de comandos como cuando lo ejecuto por cron, es decir, las variables se quedan vacias Esta es la salida de $line1, $userPos, $objectPos y alguna variable mas: ##################################################### line1: Nov 25 00:01:48 2014 4663 Microsoft-Windows-Security-Auditing N/A N/A Success Audit SRVIMG.int.tecnatom.es Sistema de archivos Se intentó tener acceso a un objeto. Sujeto: Id. de seguridad: S-1-5-18 Nombre de cuenta: SRVIMG$ Dominio de cuenta: TECNATOM Id. de inicio de sesión: 0x3e7 Objeto: Servidor del objeto: Security Tipo de objeto: File Nombre del objeto: R:\LOGS\Paloalto\Internet\bastion1_url_2014_11_25_last_calendar_day_0.csv Id. de identificador: 0x31c Información de proceso: Id. de proceso: 0xac4 Nombre de proceso: C:\Program Files (x86)\Xlight\xlight.exe Información de solicitud de acceso: Accesos: WriteData (o AddFile) Máscara de acceso: 0x2 193748668 userpos: 200 user: SRVIMG$ objectpos: 345 object: R:\LOGS\Paloalto\Internet\bastion1_url_2014_11_25_last_calendar_day_0.csv Nov 25 00:01:48 4663 Success Audit SRVIMG$ R:\LOGS\Paloalto\Internet\bastion1_url_2014_11_25_last_calendar_day_0.csv line1: Nov 25 00:02:29 2014 4663 Microsoft-Windows-Security-Auditing N/A N/A Success Audit SRVIMG.int.tecnatom.es Sistema de archivos Se intentó tener acceso a un objeto. Sujeto: Id. de seguridad: S-1-5-18 Nombre de cuenta: SRVIMG$ Dominio de cuenta: TECNATOM Id. de inicio de sesión: 0x3e7 Objeto: Servidor del objeto: Security Tipo de objeto: File Nombre del objeto: R:\LOGS\Paloalto\Internet\bastion1_url_2014_11_25_last_calendar_day_1.csv Id. de identificador: 0x31c Información de proceso: Id. de proceso: 0xac4 Nombre de proceso: C:\Program Files (x86)\Xlight\xlight.exe Información de solicitud de acceso: Accesos: WriteData (o AddFile) Máscara de acceso: 0x2 193748727 userpos: 200 user: SRVIMG$ objectpos: 345 object: R:\LOGS\Paloalto\Internet\bastion1_url_2014_11_25_last_calendar_day_1.csv Nov 25 00:02:29 4663 Success Audit SRVIMG$ R:\LOGS\Paloalto\Internet\bastion1_url_2014_11_25_last_calendar_day_1.csv line1: Nov 25 00:03:09 2014 4663 Microsoft-Windows-Security-Auditing N/A N/A Success Audit SRVIMG.int.tecnatom.es Sistema de archivos Se intentó tener acceso a un objeto. Sujeto: Id. de seguridad: S-1-5-18 Nombre de cuenta: SRVIMG$ Dominio de cuenta: TECNATOM Id. de inicio de sesión: 0x3e7 Objeto: Servidor del objeto: Security Tipo de objeto: File Nombre del objeto: R:\LOGS\Paloalto\Internet\bastion1_url_2014_11_25_last_calendar_day_2.csv Id. de identificador: 0x31c Información de proceso: Id. de proceso: 0xac4 Nombre de proceso: C:\Program Files (x86)\Xlight\xlight.exe Información de solicitud de acceso: Accesos: WriteData (o AddFile) Máscara de acceso: 0x2 193748815 userpos: 200 user: SRVIMG$ objectpos: 345 object: R:\LOGS\Paloalto\Internet\bastion1_url_2014_11_25_last_calendar_day_2.csv Nov 25 00:03:09 4663 Success Audit SRVIMG$ R:\LOGS\Paloalto\Internet\bastion1_url_2014_11_25_last_calendar_day_2.csv #################################################### Título: Re: Problema CRON y AT en Debian Publicado por: rusogumo en 25 Noviembre 2014, 11:22 am Esta es la salida cuando lo ejecuto automaticamente (cron o at):
##################################################### line1: Nov 25 00:01:48 2014 4663 Microsoft-Windows-Security-Auditing N/A N/A Success Audit SRVIMG.int.tecnatom.es Sistema de archivos Se intentó tener acceso a un objeto. Sujeto: Id. de seguridad: S-1-5-18 Nombre de cuenta: SRVIMG$ Dominio de cuenta: TECNATOM Id. de inicio de sesión: 0x3e7 Objeto: Servidor del objeto: Security Tipo de objeto: File Nombre del objeto: R:\LOGS\Paloalto\Internet^Hastion1_url_2014_11_25_last_calendar_day_0.csv Id. de identificador: 0x31c Información de proceso: Id. de proceso: 0xac4 Nombre de proceso: C:\Program Files (x86)\Xlight\xlight.exe Información de solicitud de acceso: Accesos: WriteData (o AddFile) Máscara de acceso: 0x2 193748668 userpos: 200 user: objectpos: 345 object: line1: Nov 25 00:02:29 2014 4663 Microsoft-Windows-Security-Auditing N/A N/A Success Audit SRVIMG.int.tecnatom.es Sistema de archivos Se intentó tener acceso a un objeto. Sujeto: Id. de seguridad: S-1-5-18 Nombre de cuenta: SRVIMG$ Dominio de cuenta: TECNATOM Id. de inicio de sesión: 0x3e7 Objeto: Servidor del objeto: Security Tipo de objeto: File Nombre del objeto: R:\LOGS\Paloalto\Internet^Hastion1_url_2014_11_25_last_calendar_day_1.csv Id. de identificador: 0x31c Información de proceso: Id. de proceso: 0xac4 Nombre de proceso: C:\Program Files (x86)\Xlight\xlight.exe Información de solicitud de acceso: Accesos: WriteData (o AddFile) Máscara de acceso: 0x2 193748727 userpos: 200 user: objectpos: 345 object: line1: Nov 25 00:03:09 2014 4663 Microsoft-Windows-Security-Auditing N/A N/A Success Audit SRVIMG.int.tecnatom.es Sistema de archivos Se intentó tener acceso a un objeto. Sujeto: Id. de seguridad: S-1-5-18 Nombre de cuenta: SRVIMG$ Dominio de cuenta: TECNATOM Id. de inicio de sesión: 0x3e7 Objeto: Servidor del objeto: Security Tipo de objeto: File Nombre del objeto: R:\LOGS\Paloalto\Internet^Hastion1_url_2014_11_25_last_calendar_day_2.csv Id. de identificador: 0x31c Información de proceso: Id. de proceso: 0xac4 Nombre de proceso: C:\Program Files (x86)\Xlight\xlight.exe Información de solicitud de acceso: Accesos: WriteData (o AddFile) Máscara de acceso: 0x2 193748815 userpos: 200 user: objectpos: 345 object: line1: Nov 25 00:03:48 2014 4663 Microsoft-Windows-Security-Auditing N/A N/A Success Audit SRVIMG.int.tecnatom.es Sistema de archivos Se intentó tener acceso a un objeto. Sujeto: Id. de seguridad: S-1-5-18 Nombre de cuenta: SRVIMG$ Dominio de cuenta: TECNATOM Id. de inicio de sesión: 0x3e7 Objeto: Servidor del objeto: Security Tipo de objeto: File Nombre del objeto: R:\LOGS\Paloalto\Internet^Hastion1_url_2014_11_25_last_calendar_day_3.csv Id. de identificador: 0x31c Información de proceso: Id. de proceso: 0xac4 Nombre de proceso: C:\Program Files (x86)\Xlight\xlight.exe Información de solicitud de acceso: Accesos: WriteData (o AddFile) Máscara de acceso: 0x2 193748930 ##################################################### Título: Re: Problema CRON y AT en Debian Publicado por: MinusFour en 25 Noviembre 2014, 15:21 pm Parece ser que bash esta haciendo algo raro con los strings desde cron:
Tienes: Citar R:\LOGS\Paloalto\Internet^Hastion1_url_2014_11_25_last_calendar_day_0.csv En lugar de: Citar R:\LOGS\Paloalto\Internet\bastion1_url_2014_11_25_last_calendar_day_0.csv ¿Estás usando el mismo log file? Por cierto... me doy cuenta apenas que tienes otro archivo aqui: Código
¿Que hace? PD: Si corro esto desde CRON si funciona: Código
Aunque me regresa "Dominio" en lugar de SRVIMG$. PD2: Pon todo tu output de texto entre: Código
Título: Re: Problema CRON y AT en Debian Publicado por: rusogumo en 1 Diciembre 2014, 12:51 pm #####################################################
Parece ser que bash esta haciendo algo raro con los strings desde cron: Tienes: Citar R:\LOGS\Paloalto\Internet^Hastion1_url_2014_11_25_last_calendar_day_0.csv En lugar de: Citar R:\LOGS\Paloalto\Internet\bastion1_url_2014_11_25_last_calendar_day_0.csv ¿Estás usando el mismo log file? ##################################################### Si, estoy usando el mismo Log file. Tuve unos problemas al parsear xq se comia las backslash de las rutas pero no me acuerdo como lo solucione y despues del apaño me empezaron a salir los caracteres especiales =S Yo no le daria mucha importancia... ##################################################### Por cierto... me doy cuenta apenas que tienes otro archivo aqui: Código /usr/local/nagios/libexec/accessBackup.sh ¿Que hace? ##################################################### accessBackup.sh era solo la parte del script que juntaba las bases de datos. Al principio lo ejecute mediante un script por separado hasta que me funciono y lo uní al script general. Es decir, accessBackup.sh es el codigo que sigue a la opcion --total del accessEvents.sh ##################################################### PD: Si corro esto desde CRON si funciona: Código line1=' Nov 25 00:01:48 2014 4663 Microsoft-Windows-Security-Auditing N/A N/A Success Audit SRVIMG.int.tecnatom.es Sistema de archivos Se intentó tener acceso a un objeto. Sujeto: Id. de seguridad: S-1-5-18 Nombre de cuenta: SRVIMG$ Dominio de cuenta: TECNATOM Id. de inicio de sesión: 0x3e7 Objeto: Servidor del objeto: Security Tipo de objeto: File Nombre del objeto: R:\LOGS\Paloalto\Internet\bastion1_url_2014_11_25_last_calendar_day_0.csv Id. de identificador: 0x31c Información de proceso: Id. de proceso: 0xac4 Nombre de proceso: C:\Program Files (x86)\Xlight\xlight.exe Información de solicitud de acceso: Accesos: WriteData (o AddFile) Máscara de acceso: 0x2 193748668' objectPos=345 userPos=200 user2=`echo ${line1:$userPos} | awk '{print $5}'` echo $user2 Aunque me regresa "Dominio" en lugar de SRVIMG$. PD2: Pon todo tu output de texto entre: Código [ code=text ][ code ] ##################################################### No entiendo bien lo que kieres q haga con el ultimo paso... ¿Que es lo q te ejecuta en CRON? ¿Que es lo que kieres que haga para probarlo? No se donde poner las tag que me has dicho... antes de escribir la output en el ficchero resumen?? Título: Re: Problema CRON y AT en Debian Publicado por: MinusFour en 1 Diciembre 2014, 15:04 pm Yo es que lo veo muy dificil que bash no te funcione en uno y en otro si y encima te de output diferentes. Cron no hace magia.
En tu cron en lugar de usar Código prueba con Código para descartar que no este ejecutandose sh en lugar de bash (que lo dudo mucho por tu shebang). Prueba el ejemplo que te pase ponlo en un cron: Código
Título: Re: Problema CRON y AT en Debian Publicado por: rusogumo en 3 Diciembre 2014, 16:23 pm CREO Q DISTE CON LA p**a CLAVE DE TODO...
Juraria que ya lo habia probado, pero al poner bash delante del comando parece que a empezado a funcionar todo correctamente. De todas formas te confirmo mañana que todo este bien. MIL GRACIAS POR TU AYUDA!!! Título: Re: Problema CRON y AT en Debian Publicado por: MinusFour en 3 Diciembre 2014, 21:48 pm Bien, debi haberlo mencionado hace mucho tiempo pero crei que no era relevante. Parece ser que no esta llamando directamente al script, sino que sh lo esta parseando.
Título: Re: Problema CRON y AT en Debian Publicado por: rusogumo en 4 Diciembre 2014, 18:23 pm Si, parece que era algo como lo que tu comentabas...
Ahora tengo otro problema. No se si sabes de SQL pero en la opcion --total de mi script lo que hago es volcar la tabla tb_daily_audit (temporal) a la tabla tb_audit_events (total). El problema viene xq no me inserta nuevos valores, es decir, si encuentra un valor que esta lo actualiza bien y le suma uno al valor n_times correspondiente. Pero si el valor es nuevo no lo almacena... No se si me explicado con claridad =S #################################################### echo "UPDATE tb_audit_events SET n_times=n_times+(select n_times from tb_daily_audit where id_event=tb_audit_events.id_event AND user_event=tb_audit_events.user_event)WHERE tb_audit_events.user_event=(select user_event from tb_daily_audit where id_event=tb_audit_events.id_event AND user_event=tb_audit_events.user_event) AND tb_audit_events.id_event=(select id_event from tb_daily_audit where id_event=tb_audit_events.id_event AND user_event=tb_audit_events.user_event);"|$sql ##################################################### Título: Re: Problema CRON y AT en Debian Publicado por: rusogumo en 11 Diciembre 2014, 12:27 pm NADIE QUE ME PUEDA ECHAR UNA MANO CON SQL???? Estoy muy perdido... solo controlo los comandos basicos =(
Título: Re: Problema CRON y AT en Debian Publicado por: MinusFour en 11 Diciembre 2014, 16:46 pm NADIE QUE ME PUEDA ECHAR UNA MANO CON SQL???? Estoy muy perdido... solo controlo los comandos basicos =( Esto parece una duda de SQL, no de GNU/Linux. UPDATE no deberia insertar valores en la base de datos, simplemenete actualizar. Desconozco la estructura de tu tabla pero quizas lo que buscas es: http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html Edit: Me doy cuenta que usas postgreSQL (yo solo manejo mysql). Título: Re: Problema CRON y AT en Debian Publicado por: Carloswaldo en 11 Diciembre 2014, 18:28 pm Hola
Estaba pensando en que podías hacerlo con una regla (RULE) pero siendo que tienes el UPDATE, si el update llama a una id que no existe la regla no se va a ejecutar, así que tendrías que tener mejor el INSERT y hacer una regla ON INSERT DO INSTEAD UPDATE. Otra forma en que lo podrías hacer es con esta función que está en la documentación de PostgreSQL: Código
http://www.postgresql.org/docs/9.4/static/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING O, por último, podrías modificar el script para que primero verifique si el registro existe o no y hacer UPDATE o INSERT según corresponda. Título: Re: Problema CRON y AT en Debian Publicado por: rusogumo en 18 Diciembre 2014, 14:43 pm gracias por los consejos!!! los provare y te cuento con que me kedo
|