66 votos

Trabajo de programación usando crontab, ¿qué pasará cuando el ordenador está apagado durante ese tiempo?

Programar algunas tareas usando crontab.

¿Qué sucederá si mi ordenador está apagado o apagados durante el tiempo cuando estaba programada cron para hacer algo?

¿Se ejecuta cada tarea de cron perdidas después de ordenador está encendido, o se omiten perdidas puestos de trabajo para ese día? Si no reanudar la perdida de puestos de trabajo, ¿hay alguna manera de configurar cron que se ejecuta las tareas perdidas después de que el ordenador se ha convertido?

13voto

gregf Puntos 276

Realmente depende el deamon cron que corres. Vixie-cron sólo saltará cronjobs que faltaron. fcron ejecutará crons perdidas en cuanto puede. IIRC se basa en vixie-cron, así que si eso es lo que estás buscando tal vez quieras ver fcron.

5voto

Daniel Benamy Puntos 468

No se ejecutarán tareas programadas mientras el ordenador está apagado cuando los poderes de equipo nuevo

4voto

Zathrus Puntos 5385

Esto depende en que programador cron utilizas. El demonio cron básica, vainilla no ejecutarán tareas que eran perdidas debido a la inactividad del sistema. Sin embargo, existen otros programadores de cron diseñados específicamente para esta situación que esto hará por ti. Los dos ejemplos más comunes son anacron y fcron.

2voto

KPWINC Puntos 8349

Si apagado mientras se ejecutan los trabajos cron, el sistema se apaga y los trabajos cron deja (o no).

Una alternativa en que puede comprobar es anacron.

0voto

jeff Puntos 1466

Cuando el ordenador está apagado (o el demonio cron es, de lo contrario no se ejecuta), trabajos de cron no se iniciará.

Si usted tiene puestos de trabajo que desea ejecutar después de que el hecho de que, durante esos tiempos cuando el ordenador está apagado, el uso de anacron. Instala de forma predeterminada, consulte "hombre anacron", "el hombre anacrontab", o el archivo /etc/anacrontab para obtener más información.

Ubuntu utiliza anacron por defecto para el crontab de entradas en:

/etc/cron.daily
/etc/cron.weekly
/etc/cron.monthly

dejando el resto de los archivos crontab para ser manejado por el principal demonio cron, específicamente:

/etc/crontab
/etc/cron.d
/var/spool/cron

NOTAS

Anacron sí mismo no se ejecuta como un demonio, sino que se basa en el sistema de secuencias de comandos de inicio de cron para que se ejecute.

En el Ubuntu 8.04 cuadro que estoy mirando, /etc/init.d/anacron se ejecutan en el arranque, y de nuevo por cron cada mañana a las 07:30.

El archivo LÉAME en /usr/share/doc/anacron/README.gz tiene un ligero poco más de información que está contenida en las páginas del manual.

EJEMPLOS

Por simple "diario", "semanal", "mensual" puestos de trabajo, poner una copia o un enlace simbólico a la secuencia de comandos en uno de el /etc/cron.{diario|semanal|mensual} directorios anteriores. Anacron se encargará de ejecutarlo diario/semanal/mensual, y si el equipo está apagado, en el día de la "semanal" secuencias de comandos normal, que va a ejecutar la próxima vez que la computadora está encendida.

Como otro ejemplo, suponiendo que se tiene una secuencia de comandos aquí: /usr/local/sbin/maint.sh

Y desea ejecutarlo cada tres días, la entrada estándar en /etc/crontab tendría este aspecto:

# m h dom mon dow user  command
0 0 */3 * * root /usr/local/sbin/maint.sh

Si su equipo no estaba en 00:00, el 3 del mes, el trabajo no se ejecuta hasta el 6.

El trabajo en su lugar, ejecute el 4 cuando el ordenador está apagado, y "pierde" la ejecución en la 3ª, tendría que utilizar esto en /etc/anacrontab (no olvides quitar la línea de /etc/crontab):

# period delay job-identifier command
3 5 maint-job /usr/local/sbin/maint.sh

El "retraso" de "5" por encima de los medios que anacron se espere 5 minutos antes de que se ejecuta este trabajo. La idea es evitar que anacron de cocción de las cosas de inmediato en el momento de arranque.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: