La puesta en marcha

La puesta en marcha

La puesta en marcha

Tengo un script /etc/cron.hourly/msm-hourlyque contiene esto:

#!/bin/sh
LOGPATH='/opt/msm/servers/cronscripts'
LOGFILE="$LOGPATH/msm-start.log"

# Make restart dead servers
echo "" >> $LOGFILE && /bin/date >> $LOGFILE && /etc/init.d/msm start >> $LOGFILE

Cada hora:

  1. Cree una nueva línea en el archivo de registro
  2. Añade la fecha
  3. Luego la salida del msm startcomando

Funcionaejecutando desde la línea de comandoasí comodentro/etc/cron.daily/

La cuestión

El resultado, cuando se ejecuta desde la línea de comando, se ve así:

[ msm-hourly.log ]

Thu Sep 12 20:56:51 UTC 2013
[ACTIVE] Server already started.

Sin embargo, después de dejarlo en ejecución por un tiempo, el resultado de cada iteración se ve así:

[ msm-hourly.log ]

Thu Sep 12 20:56:51 UTC 2013
[ACTIVE] Server already started.


Thu Sep 12 21:01:02 UTC 2013
Thu Sep 12 21:01:02 UTC 2013

Thu Sep 12 21:01:02 UTC 2013

Thu Sep 12 21:01:02 UTC 2013

Thu Sep 12 21:01:02 UTC 2013

Thu Sep 12 21:01:02 UTC 2013
[ACTIVE] Server already started.
[ACTIVE] Server already started.
[ACTIVE] Server already started.
[ACTIVE] Server already started.
[ACTIVE] Server already started.
[ACTIVE] Server already started.

Aquí está el resultado de /var/logs/cron:

Sep 12 21:01:02 server run-parts(/etc/cron.hourly)[19497]: starting msm-hourly
Sep 12 21:01:02 server run-parts(/etc/cron.hourly)[19498]: starting msm-hourly
Sep 12 21:01:02 server run-parts(/etc/cron.hourly)[19522]: starting msm-hourly
Sep 12 21:01:02 server run-parts(/etc/cron.hourly)[19541]: starting msm-hourly
Sep 12 21:01:02 server run-parts(/etc/cron.hourly)[19549]: starting msm-hourly
Sep 12 21:01:02 server run-parts(/etc/cron.hourly)[19565]: starting msm-hourly
Sep 12 21:01:03 server run-parts(/etc/cron.hourly)[20166]: finished msm-hourly
Sep 12 21:01:03 server run-parts(/etc/cron.hourly)[20182]: finished msm-hourly
Sep 12 21:01:03 server run-parts(/etc/cron.hourly)[20243]: finished msm-hourly
Sep 12 21:01:03 server run-parts(/etc/cron.hourly)[20288]: finished msm-hourly
Sep 12 21:01:04 server run-parts(/etc/cron.hourly)[20310]: finished msm-hourly
Sep 12 21:01:04 server run-parts(/etc/cron.hourly)[20315]: finished msm-hourly

Pregunta

Intenté reemplazar y reelaborar el script seguido de /etc/init.d/crond reloady/o /etc/init.d/crond restart.

Las cosas se reinician sin errores y el script se ejecuta cada hora como debería... solo con todas las líneas adicionales.

¿Cómo puedo rastrear esto para comprender mejor lo que está sucediendo y solucionarlo para que msm-hourly solo se ejecute una vez por hora?

Respuesta1

Verifique /etc/crontabque la línea for cron.hourlysea similar a la siguiente (prestando especial atención a que solo el campo de minutos tenga un número y el resto sean asteriscos) y aparezca solo una vez.

17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly

Además, asegúrese de que su secuencia de comandos (o /etc/cron.hourly) no esté ingresada en ningún otro crontab, incluido el de un usuario (o raíz), y que no aparezcan múltiples copias (copias de seguridad) en el archivo /etc/cron.hourly.

Tenga en cuenta que la última línea de su secuencia de comandos se puede simplificar a:

{ echo && /bin/date && /etc/init.d/msm start; } >> $LOGFILE

Por favor vea tambiénGestión de proceso.

información relacionada