![habilitar o deshabilitar fácilmente cron](https://rvso.com/image/568236/habilitar%20o%20deshabilitar%20f%C3%A1cilmente%20cron.png)
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. .