Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - ^Tifa^

#731
Bases de Datos / Re: url de mi base de datos MySQL
1 Noviembre 2009, 17:21 PM
Si tienes acceso Shell remoto a tu Centos (EL cual posee la base de datos) podrias utilizar como host hacia tu MySQL la IP o nombre de dominio que utilizas para conectarte remoto via shell a ese Centos????
#732
Scripting / Re: Ayudita Scrip con Perl
1 Noviembre 2009, 00:35 AM
Que raro encanto... te juro que ahora lo he probado y me funciona.

Claro es localhost pero sigue siendo irrelevante en este punto  :rolleyes:

Mira:

Código (perl) [Seleccionar]


#!/usr/bin/perl
use strict;
print "Content-type: text/html\n\n";
print "Iniciando backup!\n\n";
print "Espere por favor...\n\n";

# CUENTA (Ej. cuenta: elserver.com)
my $cuenta = "mipagina.com.ar";

# USUARIO DE MYSQL
my $usuario = "marian";

# PASSWORD DE MYSQL
my $pass = "xxxxx";

# IP INTERNA DE MYSQL
my $ip = "localhost";

# BASE DE MYSQL
my $base = "primaria";

my ($wkday,$month,$day,$time,$year) = split(/\s+/, localtime);
my $fecha = "$day-$month-$year-$time";
system("mysqldump $base -u $usuario --password='$pass' -h $ip > $cuenta-$fecha.sql");
print "Backup Finalizado!!!\n\n";


Y guarda el archivito asi:

mipagina.com.ar-31-Oct-2009-19:29:47.sql

Podrias intentarlo una vez mas corazon, haber si funciona  :rolleyes:
#733
Scripting / Re: Ayudita Scrip con Perl
31 Octubre 2009, 22:51 PM
Pero si ya lo tienes dentro de tu codigo bebe

Código (perl) [Seleccionar]


my ($wkday,$month,$day,$time,$year) = split(/\s+/, localtime);
my $fecha = "$day-$month-$year-$time";

#734
Scripting / Re: Shell Script y MySql
30 Octubre 2009, 19:52 PM
Citaralgo asi ya intenté pero a mi solo me salia en el scrip el panes de control de mysql, no introducia las lineas de codigo, sólo cuando salía de mysql y claro me daba error por que la sintaxis no era correcta ^^
creo k para eso necesito algo de unos módulos DBI no?

No. Revisa bien la sintaxis que aplicaste para dicho Shell Script para verificar porque te fallo, ya que el modulo DBI es aplicable exclusivamente para Perl conectarse a distintas base de datos relacionales  ;)  y hasta el momento estas comentando que quieres conectarte a traves de Bash no de Perl, para tu caso basta con procesar comandos de MySQL y realizar consultas como el ejemplo que te di... para tu caso (Bash+Mysql) no requieres ningun modulo o Api de MySQL.

CitarHe probado el script, y me ha alegrado ver que funciona, lo malo es que me pide contraseña continuamente, lo he tenido que modificar un poco y claro yo necesito que funcione en background

Precisamente los parametros $1 $2  hacen referencia en este caso a lo que insertes en linea de comando 'usuario' y 'contrasena' si quieres puedes ponerlo automatico, declarando una variable:

MYSQL="mysql -u  usuario  -pcontrasena'

Y ya esto te funcionara sin necesidad de ingresar usuario y contrasena.

$MYSQL << END
      use primaria;
      show tables;
END


#735
A lo mejor me equivoque, pero no me pareciera que un subforo de base de datos permaneceria tan vacio, cuando aveces se ingresa a PHP, Visual Basic, Java Scripting y muchas preguntas son relacionadas a SQL

Ahora que los usuarios se den cuenta que hay un subforo de base de datos antes de preguntar en el de programacion... ya es otro asunto.
#736
Valgame que pena que no se Visual Basic  :-(

Porque tu problemita lo analize, y lo resolvi pero en PERL  :-[

Código (perl) [Seleccionar]


for ( my $mes = 1; $mes <= 12; $mes++ ) {
  for ( my $dia = 1; $dia <= 31; $dia++ ) {

        if ( $mes <= 9 && $dia <= 9 ) {

              print STDOUT "0000-" . '0' . $mes . "-" .   '0'   .   $dia . "\n";
              next;
        }
            print STDOUT "0000-" . $mes . "-" . $dia . "\n";
}
};



Lo cual al ejecutar me imprime:

Citar
       
0000-09-01               
0000-09-02               
0000-09-03               
0000-09-04               
0000-09-05               
0000-09-06               
0000-09-07               
0000-09-08               
0000-09-09

Obviamente la condicion se cumple en mes y dia con un cero de primera, siempre y cuando tanto mes como dia sean igual o menor que 9  ;)  puedes hacerlo esto solo es una idea de que podrias hacer para tu problemita. Los puntitos que vez en los PRINT son 'concatenar'  si te sirve puedes analizarlo, echarle mas logica y hacer eso bucles for con condiciones si se cumple tal cosa concatename cero en dia y mes, sino se cumple quitamele el cero.

#737
Scripting / Re: Shell Script y MySql
28 Octubre 2009, 17:49 PM
Si manejas un poco la creacion de Scripts en bash, y conoces un poco el funcionamiento del lenguaje SQL (precisamente MySQL) no es tan complicado. Por ejemplo, te hice un ejemplillo personal;

Código (java) [Seleccionar]


#!/bin/bash -x

MYSQL="mysql -u $1 -p$2"
menu="\n********Menu*********\n1 - Ver Tablas\n2 - Ver datos Tablas\n3 - Insertar datos\n4 - Salir\n"

if [ -z $1 ] || [ -z $2 ]; then
  echo Para ejecutarme coloca ./programa.sh  usuario  contrasena
exit 0;
fi

while [ "$opcion" != "4" ]; do

echo -e $menu
read opcion

case $opcion in
1)
$MYSQL << END
      use primaria;
      show tables;
END
sleep 02
;;
2)

  printf "Inserta nombre de la tabla :: "
  read tablas

$MYSQL << END
      use primaria;
      select * from $tablas;
END
sleep 02
;;
3)
 
    printf "Inserta nombre de la tabla :: "
    read tablas
    echo Inserta valores a incluir en la tabla ::
    read valores

$MYSQL << END
      use primaria;
      insert into $tablas values($valores);
END
sleep 02
;;
4)
exit $?
;;
esac

done

exit 0;


#738
Foro Libre / Re: Linux es cada vez más malo
28 Octubre 2009, 15:43 PM
CitarQue importa si linux va perdiendo rendimiento al agregarle cada vez mas cosas, pronto se terminara Hurd y chau linux xD

Conozco un desarrollador activo del proyecto Hurd. Y le pregunte hace un tiempecito porque tantas quejas de parte de Stallman vs Linus y no terminan el dichoso Hurd y terminan de migrar y ya esta.

A lo que el me dijo, que es demasiado improbable (Aunque se finalizara Hurd) que el kernel de Linus sea sustituido por Hurd. Las razones? simples, el kernel de Linus tiene demasiado tiempo (mas de 10 años) en evolucion, se ha trabajado he implementado decenas (sino miles) de modulos, funcionalidades, parches, etc, etc. Que lamentablemente para Hurd alcanzar este nivel de desarrollo.... es imposible. De hecho el mismo me admitio que si Hurd terminase manana, y se lo implementasen forzado al sistema operativo tipo Unix (actualmente Linux) seria dar un salto a 15 años atras, ya que no habria casi soporte para nada de drivers... por lo cual el SO pasaria a ser mas obsoleto que Slackware 1.0  :xD 

Asi que olvidalo amigo, le guste o no, el proyecto del kernel de Linux tiene demasiado trabajo hecho encima (esto sin contar el continuo trabajo que aun se le realiza encima) Hurd no va a poder a estas alturas sustituirlo, a no ser que quieran saltar a un SO obsoleto ante la tecnologia actual, y si esto fuese asi bye bye proyecto GNU y bienvenido a un sistema operativo mas actualizado (Los sabores BSD).

#739
Disculpa que no te ayude mucho a estas horas.... es tarde, tengo un suenio enorme  :xD  y debo levantarme a las 5:30 am para el trabajo y ahora son las 12:34 am  :xD

CitarSupongamos que hago un INDICE así.
CREATE INDEX indice ON Prueba(Fecha)
Luego al hacer un SELECT, no tengo que poner el nombre del indice no?? tengo que seguir usando el "Prueba" como "nombre de columna"... o me equivoco?

No, no tienes que colocar el nombre del indice, dicho nombre es solo para guardarlo en el diccionario de la DB donde se reflejan todos los indices, de todas las tablas y bajo que usuario (En caso que quieras hacer una busquedad bajo nombre del indice para averiguar a que tabla, usuario, instancia pertenece  ;)  lo cual no es tu caso).

Citarme recomiendas hacer un INDICE en el nuevo campo FECHA, y realizar una busqueda concatenando el dia con el mes...

No debes concatenar ahora, recuerda que la fecha viene ahora en 1 solo formato y pegado  :xD te convendria mas usar SUBSTR por ejemplo.
#740
Si SQLite tiene sus cositas personalizadas .... hay que pasarle formato por lo visto a los campos DATE en SQLite. Pero si se te complica mucho el asunto chico, crea el campo tipo DATE he inserta la fecha, como te decia si por cada registro de fecha que ingreses se te guardan asi:

1999-11-23   10:03:00

Utiliza para obtener los datos en una busquedad la funcion SUBSTR (Que asumo debe existir en SQLite) te mostrare un ejemplo en MySQL :

Código (sql) [Seleccionar]


mysql> select * from ejemplo;
+---------------------+
| fecha               |
+---------------------+
| 2009-11-22 00:00:00 |
| 2006-10-30 00:00:00 |
| 2001-08-23 00:00:00 |
| 1998-10-29 00:00:00 |
+---------------------+
4 rows in set (0.00 sec)

mysql> select substr(fecha, 1, 10) from ejemplo where fecha  like '2001-08-23%';
+----------------------+
| substr(fecha, 1, 10) |
+----------------------+
| 2001-08-23           |
+----------------------+
1 row in set (0.00 sec)

mysql> select substr(fecha, 1, 10) from ejemplo where fecha  like '1998-%-29%';
+----------------------+
| substr(fecha, 1, 10) |
+----------------------+
| 1998-10-29           |
+----------------------+
1 row in set, 1 warning (0.00 sec)



No hay tunning ni optimizacion alguna en la consulta, es mas para que te sirva de referencia de como podrias buscar los datos en la tabla sin necesidad de que te devuelve el rango de fecha con la hora incluida. la funcion SUBSTR funciona   SUBSTR(campo, desde, hasta)
Siendo desde la ubicacion del registro donde se comenzara a contar y hasta, hasta donde se contara en el caso de una fecha:

1999-11-23   10:02:00

Desde el digito 1 hasta el 10 es '1999-11-23'

Besos  :-*