viernes, 31 de julio de 2009

Ejecutar script sql en MySql

Tengo que administrar una base de datos en la que se utilizan varias tablas auxiliares para generar informes y otras cosas, entonces todos los días esas tablas las tengo que limpiar.


Como en el servidor ya tengo un cron con un script para borrar algunas carpetas temporales, la idea es agregar algo al script para que también me borre las tablas auxiliares.




Los pasos son generar un .sql que me borre las tablas. Seria algo así




use basededatos;


truncate tabla_auxiliar1;


truncate tabla_auxiliar2;


......




Esto lo guardamos en un archivo llamado script.sql (o como quieran llamarlo)




luego en el script que ya tenemos que nos borra las carpetas auxiliares agregamos lo siguiente.




mysql -u usuario_con_derechos -pcontraseña basededatos < script.sql




Con esto cuando se ejecute el script nos borrara las tablas.



Volver al inicio

martes, 28 de julio de 2009

Descargar videos Flash de Internet

Como varias veces me ha pasado, necesito bajarme algunos vídeos que son muy pesados de Internet, que están en formato Flv (flash) y guardarlos en mi equipo para poder verlos después.


Buscando un poco encontré Moyea Youtube FLV Donwnloader, es el mas fácil que he visto y realmente anda muy bien.



Volver al inicio

domingo, 26 de julio de 2009

Instalación de Joomla

Como ya he necesitado 3 veces instalar Joomla, y cada vez tengo que buscar como se hace para instalar (que realmente es muy fácil), entonces he decidido escribirlo.




Primero hay que descargarse Joomla, yo he descargado la versión 1.5.12.




Luego de alguna forma copiarlo al servidor, que en mi caso es un Linux Ubuntu server.




Luego en el Linux, con apache ya instalado, copiamos a la carpeta del apache, todo el contenido del archivo que bajamos (obviamente antes hay que descomprimirlo), se puede copiar a la ruta del apache (/var/www) o creamos una carpeta y lo copiamos ahí (/var/www/joomla por ejemplo)




Tenemos que crear la base de datos donde trabajara joomla, entonces desde el prompt hacemos lo siguiente




> mysql -u root -ppassword


> create database joomla;


> show databases;




con esto crearemos la base de datos y con el ultimo comando veremos si realmente esta creado.




Luego (supongo que el apache esta levantado y andando bien) se debe de empezar la instalación de joomla, esto lo hacemos escribiendo lo siguiente en el navegador


http://ip o nombre del server/joomla/installation/ (supongo que se creo una carpeta joomla)


Y seguimos las indicaciones que nos da el instalador de joomla.




Al final dependiendo si se puede escribir o no en el directorio del apache (/var/ww/joomla) podremos directamente acceder a la administración o al sito de ejemplo (que en uno de los últimos pasos de la instalación nos da la opción de instalarlos), si no dejamos escribir, entonces tenemos que crear el archivo configuration.php en la raíz de la carpeta de joomla con el contenido que nos da en la ultima pantalla. Luego como vemos también en la ultima pantalla la carpeta de instalación hay que eliminarla.




Entonces al final de todo en la ruta


http://ip o nombre del server/joomla


tenemos nuestro portal, o en la ruta


http://ip o nombre del server/joomla/administrator


tenemos la administración de nuestro portal.



Volver al inicio

sábado, 2 de mayo de 2009

Genexus,enviar mail con pdf adjunto

Esto lo he tenido que hacer 2 veces y como la primera fue hace algunos años y la otra fue hace unos días, en la segunda oportunidad estuve un rato largo acordándome de cada una de las cosas que hice en la primera.




La idea es que un proceso genera un pdf y automáticamente sin interacción del usuario se envía un mail (o muchos mail's).




Bueno en genexus para que se genere un reporte en formato pdf, lo que hay que hacer son 3 cosas.


1 - marcar que el reporte sea main


2 - call protocol como HTML


3 - una regla Output_file(&nombre, "pdf"); siendo nombre el nombre del pdf, con el .pdf




con esto genexus sabe que el reporte lo genera en formato pdf.




Ahora lo que queremos es que ese archivos se genere pero quede guardado en el servidor en alguna ruta que se pueda ,entonces cambiamos &nombre por el nombre completo de la ruta, por ejemplo /home/arch.pdf, y esa variable debe de llegar al reporte y debe de ser in, ejemplo


param(in:&nombre);


Y además en el call protocol hay que cambiar de HTML a Internal.




Con estos cambios tenemos el pdf en una ruta conocida del servidor, ahora lo único que hay que hacer es hacer algún proceso que envié el mail, para esto se pueden utilizar varias formas, pero lo que hay que hacer es una variable del tipo MailMessage, adjuntarle el pdf, MailMessage.attach(&nombre), y luego seguir con el resto de las cosas para enviar el mail.


Volver al inicio

Bat para respaldar archivos usando rar

El problema que tengo es el siguiente, tengo varias maquinas virtuales con ambientes de clientes, en las que en ellas le instalo la menor cantidad de programas para que ande lo mas rápido.


Como la mayoría de las maquinas son Windows, no puedo utilizar en tar y gzip de Linux.




Como tengo documentos muy importantes quiero que periódicamente se haga un respaldo de estos.




En Internet hay muchos programas que hacen esto, pero como dije no quiero instalar nada, así que esa no es una opción.




Me pongo a buscar en Internet y por consola DOS se puede hacer rar o zip utilizando winrar, pero repito no quiero instalar nada, entonces encontré la siguiente solución.




Solamente con copiar el programa de winrar, rar.exe, a una de estas maquinas virtuales, y hacer un bat que mas abajo detallare, se pueden generar respaldos muy fácilmente.




si por consola ejecutaremos rar.exe, nos da todos los parámetros que podemos utilizar, pero yo pongo un pequeño ejemplo abajo para que sea un punto de partida.






"C:\ruta\Rar.exe" a -ad -m3 -agYY-MM-DD-hh-mm Z:\nombrerar "C:\rutaarespaldar\"




C:\ruta\Rar.exe es donde copiamos el rar.exe


Z:\nombrerar es el nombre del archivo a generar


C:\rutaarespaldar es la carpeta que respaldaremos


a quiere decir que si existe el archivo entonces agrega


-ad añade el nombre de archivos la carpeta del archivo


-m3 es la compresión puede ir hasta 5


-ag le agrega al nombre del rar la fecha y hora, ejemplo z:\nombrerar-09-08-30-12-10.rar




Esto ahora lo que tenemos que hacer es o lo ejecutamos manualmente (muy tedioso), o lo ponemos en inicio, para que se ejecute cada vez que inicies la sesión, o lo agregas al programador de tareas (estas son las 3 opciones que se me ocurrieron).


Volver al inicio

domingo, 11 de enero de 2009

Comprimir determinados archivos

Tengo una carpeta la cual tiene cientos de archivos, de los cuales quiero hacer un tar.gz de solo alguno de ellos.


Utilizaremos una combinacion de find y tar para poder lograrlo.




find /ruta_de_carpeta -name "*.txt" | xargs tar -zcvf misarchios.tar.gz




con esto buscamos dentro de la carpeta ruta_de_carpeta los archivos con extension txt (aca se pude buscar lo que quieran) y los comprimimos en el archivo misarchivos.tar.gz



Volver al inicio

domingo, 7 de diciembre de 2008

Agrandar particion en maquina virtual

La situación es la siguiente, tengo un windows xp en una maquina virtual con VMWare, la cual me esta quedando chica para las cosas que tengo en esta. Entonces las solución que se me ocurrieron son 3


1 - agregarle un disco y seguir trabajando en el segundo disco, esta solución es fácilmente aplicable, pero para mi caso no me servía


2 - crear una nueva maquina virtual y respaldar todo lo de la anterior, el tiempo que llevaba realizarlo no me caía en gracia.


3 - y la tercera y ultima es agrandar el disco primario (Disco C).




Investigando un poco en Internet encontre la aplicación de vmware




vmware-vdiskmanager




Con esta aplicación podemos hacer muchas cosas con los discos duros de la VMWares's, ejemplo desfragmentarlo, y obviamente agrandarlo.


Para agrandar el disco duro es muy fácil, vamos por dos y ejecutamos esta aplicación, podemos ver el help para mas datos, pero el tema no queda ahí.


Si leen el warning que da al finalizar el proceso para agrandar el disco, dice algo como que la aplicación te agranda el disco, pero no te agranda la partición.






Entonces seguí un poco mas en Internet (se pude usar partition Magic, pero yo quise investigar un poco mas) y encontre gparted-livecd-0.3.4-11.iso, es un iso que es liveCD, es decir bootea solo con este iso, y te da unas cuantas aplicaciones (free en su mayoría, por no jugarmela y decir todas) para manejo de disco, y la que yo utilice es la que me deja agrandar la partición.


Al se un iso y liveCD solo hay que mapearla en la maquina virtual para que levante esto, iniciamos la maquina y nos arranca y nos hace algunas preguntas estilo tipo de teclado, idioma, etc, y luego nos ofrece las aplicaciones a podes ejecutar.




Así que con estas 2 aplicaciones solucione el dilema de tener el discoC de un windows xp lleno.



Volver al inicio