Solo quiero pausar todo. No ejecutes nada de lo enumerado crontab -l
.
71
crontab -e
luego comente cada línea con la que no desea ejecutar #
.
Primero, haga una copia de seguridad del crontab:
crontab -l > my_cron_backup.txt
Entonces puedes vaciarlo:
crontab -r
Restaurar:
crontab my_cron_backup.txt
crontab -l
/tmp
está dañado (y si su crontab -e utilizamktemp
en/tmp
.crontab -r
es lo que estaba buscando Gracias !¿Tienes acceso root? Solo pausa cron
Luego reinícialo cuando estés listo
fuente
sudo service cron stop
/etc/init.d/cron stop
.service cron stop
.Si está utilizando vi como editor, simplemente ingrese
:%s/^/#/
en modo comando. En todas las líneas (%), sustituye (s ///) el comienzo de la línea (^) con un hash (#).fuente
EDITOR=vi; crontab -e
, y luego puede usar el truco anterior.:%s/^#//
No estaba contento con las opciones anteriores, ya que no eran una sola línea.
Deshabilitar
crontab -l | perl -nle 's/^([^#])/# $1/;print' | crontab
Para permitir
crontab -l | perl -nle 's/^#\s*([0-9*])/$1/;print' | crontab
ejemplo de uso (editado para mostrar que no deshabilita los comentarios)
Probé esto en RHEL y AIX, y debería funcionar sin necesidad de instalar nada
fuente
crontab: usage error: file name must be specified for replace
. Parece que tiene que especificar un archivo (?) Cuando lo utilizacrontab
sin ningún parámetro (que es elreplace
predeterminado).En mis pruebas limitadas, configurar el shell en / bin / false funciona. Aún verá la
/opt/job.sh
ejecución en sus registros, pero será un noop:fuente
En cualquier versión de Unix / Linux que conozca:
Esta:
fuente
Tengo la idea de la respuesta proporcionada por @segaps
Deshabilitar:
Para permitir:
El único problema con la solución proporcionada por segaps es que descomentará los trabajos, que ya han sido comentados por el usuario.
fuente
Para hacer esto, usando nano como editor:
luego comente cada línea con la que no desea ejecutar #
fuente