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.