Archive for the ‘linux’ Category

  • Como Usar FTP en Shell Script

    2

    A diario hago backup en mis servers pero los archivos quedan residentes en las mismas máquinas. Obviamente mientras el backup esté mas lejos de los datos originales menores son las probabilidades de no recuperarse de un desastre computacional.

    Lo ideal seria hacer una transmisión FTPS o SFTP si estás preocupado por algun sniffer o similar, pero bueno, aquí vamos a ver la solución fácil y rápida con un shell script muy sencillo.

    #!/bin/sh
    HOST='www.myserver.com'
    USER='myuser'
    PASS='mypassword'
    #voy a hacer backup del folder creado ayer
    YESTERDAY=$(date --date='1 day ago' +%Y%m%d)
    
    # pensemos que dejamos los backups diariamente en este path
    # los cuales estan en folders con formato fecha cual
    # 20100227 (YYYYMMDD)
    cd /home/myuser/backups/
    # creo localmente un folder con el mismo nombre
    mkdir $YESTERDAY
    cd $YESTERDAY
    
    ftp -n $HOST <<END_SCRIPT
    quote USER $USER
    quote PASS $PASS
    # aca vamos a la misma locacion pero en el server
    cd /home/myuser/backups/$YESTERDAY
    # aca es donde bajamos el archivo que queremos backupear
    get backup.tar
    quit
    END_SCRIPT
    exit 0
    

    Y listo, solo nos falta una entrada en el cron para correr esto a diario. Para ello:

    crontab -e

    Entonces agregamos el script para ser llamado diariamente

    0 1 * * * /usr/share/scripts/mybackupscript.sh

    Esto soluciona grandes dolores de cabeza con mínimo esfuerzo. Que lo disfruten!

  • Como Zipear y Almacenar Log Files

    0

    Si tienen una aplicación en producción es sumamente importante no borrar los logs jamás. Por qué ? Porque SIEMPRE van a encontrar una situación donde van a necesitar saber en que momento pasó tal cosa. Hay una ley que siempre se cumple,

    Los backups nunca se necesitan hasta el momento que perdiste todo, ahi si no lo tenés empezá a buscar otro laburo.

    Un ejemplo claro es un reclamo de un cliente..

    Cliente – Hola, me llego un cargo de un servicio que no pedí.
    Yo – WTF!

    Inmediatamente solicito al cliente datos para poder ubicar en mis logs la acción exacta que generó esa factura y resolver el problema.

    En mi caso utilizo varios niveles de log partiendo del más detallista (SQL) hasta el más evidente (ERROR). Actualmente Memudoya.com está generando 100 MB de logs diarios, lo que nos dá casi unos 3GB de logs al mes. Según que tipo de hosting estemos contratando ésto puede ser un dolor de cabeza y nos tienta a borrar logs que consideramos viejos.

    Tengo conocimiento de que Google por ejemplo, guarda logs de apache desde al menos el 2007. Es increíble, pero si. Imagínense la cantidad de información que están backupeando a diario.

    Para archivar los logs hice un shell script muy sencillo que corre a diario con un CRON para almacenar los logs como ZIP. También me di cuenta que generalmente lo que más querés ver son los logs del día, asi que la idea es que este script archive los logs de ayer.

    Algo de código:

    #!/bin/sh
    
    #declare yesterday
    DATE=$(date --date='1 day ago' +%Y-%m-%d)
    
    OLD=/var/log/myapp/old
    
    mv /var/log/myapp/mydomain.$DATE* $OLD
    
    zip -m9 /usr/share/mybackup/$DATE-myapp.zip $OLD/*
    

    No es para nada complicado, pero es SUPER útil. Espero les sirva.

  • Como obtener la fecha de ayer con shell script

    0

    Estuve necesitando obtener la fecha de ayer para poder hacer un cron backup diario de los logs de los servidores, por ende hice un shell script para poder obtener los archivos de ayer, zipearlos y mandarlos a otro folder.

    #!/bin/sh
    
    #get the date from yesteday
    DATE=$(date --date='1 day ago' +%Y-%m-%d)
    
    mv /var/log/tomcat/site1.$DATE* old
    mv /var/log/tomcat/site2.$DATE* old
    mv /var/log/tomcat/localhost.$DATE* old
    mv /var/log/tomcat/catalina.$DATE* old
    mv /var/log/tomcat/site2.com_access_log.$DATE* old
    mv /var/log/tomcat/site1.com_access_log.$DATE* old
    
    zip -m9 /usr/share/store/log/$DATE-log-backup.zip /var/log/old/*
    
  • Como Cambiar La Version de Java en Ubuntu Linux

    0

    Despues de haber instalado una JVM nueva hay que ejecutar en Ubuntu un comando para que actualize todos los paths default para poder ejecutar los programas con esa JVM.

    Primero vamos a ejecutar el siguiente comando para ver las diferentes alternativas:

    sudo update-java-alternatives -l

    Quiza obtenemos un print como este:

    root@gsovmfmsdev04:~# update-java-alternatives -l
    java-6-sun 63 /usr/lib/jvm/java-6-sun
    java-gcj 1042 /usr/lib/jvm/java-gcj

    Ahora ejecutamos el comando set para utilizar nuestra alternativa deseada:

    update-java-alternatives -s java-6-sun

    Ahora podemos ver nuestra nueva version de esta manera:

    java -version

    Eso es todo

  • GD Library Error: imagecreatetruecolor does not exist

    0

    Si están utilizando el image resizer de PHP en ubuntu parece que por default si instalas a mano php5 no trae las librerias GD. Fácilmente corregimos este error instalando lo faltante.

    sudo apt-get install php5-gd
Page 1 of 212»