Posts Tagged ‘ Linux

Evitando solapamientos en cron con lockrun

Es algo muy común que programemos una tarea en cron periódica cada x tiempo, todo debe funcionar bien para tiempos relativamente grandes, p.e tareas diárias, semanales, etc.

Pero para tiempos pequeños, ¿quién nos garantiza que dicha tarea va a ejecutarse en menos de ese x tiempo?

Un ejemplo más ilustrativo, supongamos el caso de una tarea que actualiza el índice de un motor de búsqueda, para tenerlo lo más reciente posible lo actualizaremos cada minuto.

Dicha tarea puede ser que tarde más de un minuto en ejecutarse, debido a la carga de trabajo de la misma, ¿qué ocurre entonces? ¡Exacto! Se solapan las ejecuciones de la tarea…

Si esto ocurre, es posible que las distintas instancias corrompan algún fichero que modifiquen o, es más, que nos saturen los servidores.

Para esto existe la solución lockrun, bloqueo de ejecución, consiste en un pequeño programita el cual se encargará de gestionar las ejecuciones de dicha tarea.

Para hacer uso de él simplemente descargar lockrun.c de aquí; http://www.unixwiz.net/tools/lockrun.html

Compilar con gcc lockrun.c -o lockrun y luego copiar el ejecutable a /usr/local/bin/.

Hecho estos sólo tendremos que añadir a nuestras tareas en crontab /usr/local/bin/lockrun –lockfile=/var/run/tarea.lock — <tarea> y el solito se encargará de gestionar dichas ejecuciones 🙂

Un gran número de parejas jóvenes que se enfrentan a varios problemas de salud, tales personas pueden comprar medicamentos en línea de investigación sin orden. Antibióticos de penicilina muy populares que combaten las bacterias. Estos remedios no tratan una infección viral por ejemplo un resfriado común. Vamos a hablare de numerosas drogas existe. Kamagra es un remedio usado para tratare varias quejas. ¿Qué sabes sobre “Comprar Kamagra Oral Jelly“? Actualmente muchos hombres buscan la frase exacta “comprar kamagra 100mg” en Internet. (Leer más “Kamagra Oral Jelly“). Debido a que algunos de los problemas sexuales son emergencias médicas, es bueno conocer los síntomas. Ciertas personas que usan este medicamento generalmente no tienen efectos secundarios graves Kamagra. El farmacéutico necesita resolver qué dosis es la mejor en su caso. Si el medicamento se usa según sea necesario, es poco probable que esté en un horario de dosificación.

Reconfiguring locales

Este error con las localizaciones suele ser bastante común en instalaciones de Ubuntu server;

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
	LANGUAGE = (unset),
	LC_ALL = (unset),
	LANG = "es_ES.utf8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory

Solución;

export LC_ALL="C"
dpkg-reconfigure locales
locale-gen

Bastante simple, ¿no?

Un gran número de parejas jóvenes que se enfrentan a varios problemas de salud, tales personas pueden comprar medicamentos en línea sin orden. Antibióticos de penicilina muy populares que combaten las bacterias. Estos remedios no tratan una infección viral por ejemplo un resfriado común. Vamos a hablar de numerosas drogas existe. Kamagra es un remedio usado para tratar varias quejas. ¿Qué sabes sobre “Comprar Kamagra Oral Jelly“? Actualmente muchos hombres buscan la frase exacta “comprar kamagra 100mg” en Internet inalámbrico. (Leer más “Kamagra Oral Jelly“). Debido a que algunos de los problemas sexuales son emergencias médicas, es bueno conocer los síntomas. Ciertas personas que usan este medicamento generalmente no tienen efectos secundarios graves Kamagra. El farmacéutico necesita resolver qué dosis es la mejor en su caso. Si el medicamento se usa según sea necesario, es poco probable que esté en un horario de dosificación.

Cuando no se puede hacer nada

Recientemente me deshice de mi antiguo VPS, que, entre otras características tenía 192MB de RAM sin SWAP, para reducir el precio al mínimo.

En el monté un servidor LAMP, para, entre otras cosas montar este blog, economizar tanto me salió caro, ya que en cuanto se habrían un par de páginas en el servidor los procesos me devoraban la memoria, abajo dejo un copy/paste de una de esas consolas en las que no podía ejecutar ningún proceso y claro, no podía hacer nada.

Solución; reiniciar el servidor desde el panel de administración. Intentar ahorrar tanto se convierte en algo peliagudo que no recomiendo a nadie.

Entre otras cosas probé como servidores web apache2, lighttpd y nginx y optimizar MySQL (conseguí reducirle la memoría al mínimo) pero en cuanto se lanzará PHP un par de veces la memoría libre desaparecía…

root@8872681324:/var/www# htop
-bash: fork: No se puede asignar memoria
root@8872681324:/var/www# /etc/init.d/apache2 stop
-bash: fork: No se puede asignar memoria
root@8872681324:/var/www# ps aux
-bash: fork: No se puede asignar memoria
root@8872681324:/var/www# reboot
-bash: fork: No se puede asignar memoria
root@8872681324:/var/www# halt
-bash: fork: No se puede asignar memoria

Un gran número de parejas jóvenes que se enfrentan a varios problemas de saludos cordiales, tales personas pueden comprar medicamentos en línea sin orden. Antibióticos de penicilina muy populares que combaten las bacterias. Estos remedios no tratan una infección viral por ejemplo un resfriado común. Vamos a hablar de numerosas drogas existe. Kamagra es un remedios caseros usado para tratar varias quejas. ¿Qué sabes sobre “Comprar Kamagra Oral Jelly“? Actualmente muchos hombres buscan la frase exacta “comprar kamagra 100mg” en Internet. (Leer más “Kamagra Oral Jelly“). Debido a que algunos de los problemas sexuales son emergencias médicas, es bueno conocer los síntomas. Ciertas personas que usan este medicamento generalmente no tienen efectos secundarios graves Kamagra. El farmacéutico necesita resolver qué dosis es la mejor en su caso. Si el medicamento se usa según sea necesario, es poco probable que esté en un horario de dosificación.