martes, 15 de mayo de 2012

Crontab en RHEL 5 o CENTOS

bueno, en mi trabajo diario me encontré con que voy a programar unas tareas en un servidor linux, y que mejor que un crontab para eso "gracias al ingeniero Amezquita que me dejó la espinita en pregrado", bueno al menos sabia algo del tema, entonces pues... me puse manos a la obra y tengo que poner a correr el siguiente script:

#!/bin/bash
# First check if there is already a restart running
#LOCKFILE=/home/celu/run/restart_new.lock;
#if [ -f $LOCKFILE ]; then
#    echo "A restart is already running, or there is a stale lock file";
#    exit 1;
#fi

     #**************************************************************
     # use:
     #**************************************************************
           
     if [ "$2" = "KILLING" ]; then
       /usr/bin/killall -q -r _57_Movistar.php
     fi
 
 #       /usr/bin/touch $LOCKFILE;
        HOUR=$(date +"%-H");
        MINS=$(date +"%-M");

        # Demons Control Process (over the date next)
        NUMDAEMONS=1;
        COUNTER=0;
        while [  $COUNTER -lt $NUMDAEMONS ]; do
        PROCESO=$(ps x |grep "/home/jvasquezgiraldo/Framework/daemons/Users/UsersCommunities57Movistar.php $NUMDAEMONS $COUNTER" |grep -vw 'grep');
                if [ ! "$PROCESO" ]; then
                   /usr/bin/php /home/jvasquezgiraldo/Framework/daemons/Users/UsersCommunities57Movistar.php $NUMDAEMONS $COUNTER &
                  sleep 1;
                fi
        COUNTER=$((COUNTER+1))
        done

        # Movistar Colombia billing
        NUMDAEMONS=7;
        COUNTER=0;
        while [  $COUNTER -lt $NUMDAEMONS ]; do
        PROCESO=$(ps x |grep "/home/jvasquezgiraldo/Framework/daemons/Billing/BillingCommunities57Movistar.php $NUMDAEMONS $COUNTER" |grep -vw 'grep');
                if [ ! "$PROCESO" ]; then
                  /usr/bin/php /home/jvasquezgiraldo/Framework/daemons/Billing/BillingCommunities57Movistar.php $NUMDAEMONS $COUNTER &
                  sleep 1;
                fi
        COUNTER=$((COUNTER+1))
        done

        # Comcel Colombia Rebilling
        NUMDAEMONS=12;
        COUNTER=0;
        while [  $COUNTER -lt $NUMDAEMONS ]; do
        PROCESO=$(ps x |grep "/home/jvasquezgiraldo/Framework/daemons/Billing/RebillingCommunities57Movistar.php $NUMDAEMONS $COUNTER" |grep -vw 'grep');
                if [ ! "$PROCESO" ]; then
                  /usr/bin/php /home/jvasquezgiraldo/Framework/daemons/Billing/RebillingCommunities57Movistar.php $NUMDAEMONS $COUNTER &
                  sleep 1;
                fi
        COUNTER=$((COUNTER+1))
        done
####### DELIVERY PROCCESS
        #Control Moderation
        NUMDAEMONS=1;
        COUNTER=0;
  while [  $COUNTER -lt $NUMDAEMONS ]; do
        PROCESO=$(ps x |grep "/home/jvasquezgiraldo/Framework/daemons/Delivery/ControlModeration57Movistar.php $NUMDAEMONS $COUNTER" |grep -vw 'grep');
                if [ ! "$PROCESO" ]; then
                  /usr/bin/php /home/jvasquezgiraldo/Framework/daemons/Delivery/ControlModeration57Movistar.php $NUMDAEMONS $COUNTER &
                  sleep 1;
                fi
        COUNTER=$((COUNTER+1))
        done
        #Look for Message in queu
        NUMDAEMONS=1;
        COUNTER=0;
        while [  $COUNTER -lt $NUMDAEMONS ]; do
        PROCESO=$(ps x |grep "/home/jvasquezgiraldo/Framework/daemons/Delivery/LookForAlreadyModerates57Movistar.php $NUMDAEMONS $COUNTER" |grep -vw 'grep');
                if [ ! "$PROCESO" ]; then
                  /usr/bin/php /home/jvasquezgiraldo/Framework/daemons/Delivery/LookForAlreadyModerates57Movistar.php $NUMDAEMONS $COUNTER &
                  sleep 1;
                fi
        COUNTER=$((COUNTER+1))
        done
        #Execute the active moderations
        NUMDAEMONS=2;
        COUNTER=0;
        while [  $COUNTER -lt $NUMDAEMONS ]; do
        PROCESO=$(ps x |grep "/home/jvasquezgiraldo/Framework/daemons/Delivery/SendModeration57Movistar.php $NUMDAEMONS $COUNTER" |grep -vw 'grep');
                if [ ! "$PROCESO" ]; then
                  /usr/bin/php /home/jvasquezgiraldo/Framework/daemons/Delivery/SendModeration57Movistar.php $NUMDAEMONS $COUNTER &
                  sleep 1;
                fi
        COUNTER=$((COUNTER+1))
        done
      
####### FREE CONTENT PROCCESS
        #FREE CONTENT
        NUMDAEMONS=1;
        COUNTER=0;
  while [  $COUNTER -lt $NUMDAEMONS ]; do
        PROCESO=$(ps x |grep "/home/jvasquezgiraldo/Framework/daemons/Delivery/ControlFreeContent57Movistar.php $NUMDAEMONS $COUNTER" |grep -vw 'grep');
                if [ ! "$PROCESO" ]; then
                  /usr/bin/php /home/jvasquezgiraldo/Framework/daemons/Delivery/ControlFreeContent57Movistar.php $NUMDAEMONS $COUNTER &
                  sleep 1;
                fi
        COUNTER=$((COUNTER+1))
        done

#####CREDITS

        NUMDAEMONS=1;
        COUNTER=0;
                while [  $COUNTER -lt $NUMDAEMONS ]; do
        PROCESO=$(ps x |grep "/home/jvasquezgiraldo/Framework/daemons/Users/UsersCreditsCommunities57Movistar.php $NUMDAEMONS $COUNTER" |grep -vw 'grep');
                if [ ! "$PROCESO" ]; then
                  /usr/bin/php /home/jvasquezgiraldo/Framework/daemons/Users/UsersCreditsCommunities57Movistar.php $NUMDAEMONS $COUNTER &
                sleep 1;
               fi        
 COUNTER=$((COUNTER+1))
 done

       NUMDAEMONS=1;
       COUNTER=0;
       while [  $COUNTER -lt $NUMDAEMONS ]; do
        PROCESO=$(ps x |grep "/home/jvasquezgiraldo/Framework/daemons/Users/UsersPostpaidCommunities57Movistar.php $NUMDAEMONS $COUNTER" |grep -vw 'grep');
        if [ ! "$PROCESO" ]; then
#                /usr/bin/php /home/jvasquezgiraldo/Framework/daemons/Users/UsersPostpaidCommunities57Movistar.php $NUMDAEMONS $COUNTER &
 sleep 1;
 fi
 COUNTER=$((COUNTER+1))
 done


#tesp daemons Negative Credits

 NUMDAEMONS=1;
        COUNTER=0;
                while [  $COUNTER -lt $NUMDAEMONS ]; do
        PROCESO=$(ps x |grep "/home/jvasquezgiraldo/Framework/daemons/Users/UsersCreditsCommunities57MovistarNegative.php $NUMDAEMONS $COUNTER" |grep -vw 'grep');
                if [ ! "$PROCESO" ]; then
                  /usr/bin/php /home/jvasquezgiraldo/Framework/daemons/Users/UsersCreditsCommunities57MovistarNegative.php $NUMDAEMONS $COUNTER &
                sleep 1;
               fi        
 COUNTER=$((COUNTER+1))
 done




llamado communities57Movistar.sh el cual he renombrado a communities57Movistar sin el punto por que he leido que a veces suele poner problemas por el uso de puntos o simbolos en el nombre del archivo.

Las lineas siguientes se deben agregar en el crontab del usuario, eso es lo muy facil, se digita:
crontab -e
y en el editor se pega lo siguiente:

*/15 * * * *  sh /home/celu/bin/communities/communities57Movistar
2 1,18 * * * /usr/bin/php /home/celu/Framework/daemons/Users/UpdateSigned57Movistar.php
42 2 * * * /usr/bin/php /home/celu/Framework/daemons/Reports/Reports57Movistar.php


en las lineas anteriores se evidencia que se va a ejecutar una tarea cada 15 minutos "ejecucion del archivo communities57Movistar" el / es para indicar que va a realizarce repetidamente.

Un enlace muy bueno y documentación al respecto se puede encontrar en:

http://www.telefonica.net/web2/dinsalpa/crontab/crontab.htm

o en

http://www.linuxtotal.com.mx/index.php?cont=info_admon_006

espero le sirva a alguien... jejeje, me despido..

No hay comentarios:

Publicar un comentario

Agradezco el interes en el tema, estaré atento para poder leer su comentario.