habilitar o deshabilitar fácilmente cron

habilitar o deshabilitar fácilmente cron

Siempre que necesito habilitar crons, copiaré el archivo cron a la carpeta spool.

cp /home/shantanu/shantanu /var/spool/cron/
chown shantanu:root /var/spool/cron/shantanu 

esto funcionara? ¿Algún problema que pueda enfrentar?

actualización: usando CentOS

Respuesta1

La forma oficial de deshabilitar algunos trabajos cron para un usuario específico es escribir crontab -e -u <user>y poner un #comentario al comienzo.


ACTUALIZAR

Porque el archivo cron será parte del script de shell.

Prueba esto:

crontab -l -u shantanuo > shantanuo.cron
sed -i 's/^/#/' shantanuo.cron
crontab shantanuo.cron
rm -f shantanuo.cron

Respuesta2

Élpuedetrabajar.Pero..

Como decían los carteles anteriores: No hagas esto. Usar crontab -e. La edición directa de los archivos puede funcionar, pero no es una práctica sólida. Tus cosas podrían romperse en cualquier momento al actualizar los componentes involucrados. Además, no es muy portátil, otros sistemas pueden almacenar los archivos en un lugar diferente. Es como implementar "printf" usted mismo en lugar de usar el iolib estándar.

Así que no lo hagas de esta manera.

editar: Y si necesita generar el crontab con un script de Shell, simplemente canalice sus cosas crontab(¡incluso conoce el pseudoarchivo '-'! Lea la página de manual).

Respuesta3

¿Por qué no simplemente usar el comando crontab -e, o si ha iniciado sesión como root crontab -e -u shantanu?

Respuesta4

Si desea suspender trabajos sin tener que reiniciar cron (lo que puede afectar los trabajos que se ejecutan, por ejemplo, cada 3 minutos), puede utilizar archivos de bloqueo, que se crean o eliminan fácilmente en un script.

*/3 0 * * * [ ! -f /tmp/job.lock ] && /path/to/job

Entonces para suspender el uso del trabajo:

touch /tmp/job.lock

Reinicie la programación dentro de cron de la siguiente manera:

rm /tmp/job.lock

Lo bueno de esto es que puede usar diferentes archivos de bloqueo para diferentes trabajos (o grupos de trabajos si todos usan el mismo archivo de bloqueo) sin preocuparse por interrumpir la programación o romper el cron debido a errores en la edición (mediante script o manualmente) del crontab. .

información relacionada