¿Cómo eliminar o eliminar un solo trabajo cron usando el comando linux?

27

He creado tareas cron para mi sitio que se enumeran a continuación y funcionan bien. Imprimo todo el trabajo cron usando este script PHP:

$cronfiles=exec('crontab -l',$output);
echo "<pre>";
print_r($output);

Qué salidas:

  

[0] => 0 0 * * * wget php -q http://www.example.com/report_send.php
[1] => 0 0 * * * wget php -q http://www.example.com/event_reminder.php
[2] => 0 0 * * * wget php -q http://www.example.com/user_reminder.php
[3] => * * * * * wget php -q http://www.example.com/cleardata.php

Ahora quiero eliminar o eliminar una sola tarea cron de mi servidor a través del comando. Por ejemplo, quiero eliminar el trabajo cron " 0 0 * * * wget php -q http://www.example.com/event_reminder.php " del servidor.

Intenté el comando crontab -r , que elimina todo el trabajo cron de mi servidor, pero quiero eliminar el trabajo cron específico.

¿Pueden ayudarme por la solución?

    
pregunta anumavu 21.01.2014 - 09:09

5 respuestas

38
  1. Para agregar un trabajo a crontab:

    (crontab -u mobman -l ; echo "*/5 * * * * perl /home/mobman/test.pl") | crontab -u mobman -
    
  2. Para eliminar un trabajo de crontab:

    crontab -u mobman -l | grep -v 'perl /home/mobman/test.pl'  | crontab -u mobman -
    
  3. Eliminar todo de crontab:

    crontab -r
    

Nada es complicado: - es STDOUT en Linux.

    
respondido por el Greg Hanis 11.01.2016 - 16:45
16

Desde un indicador raíz, escriba

crontab -e

Ahora puede editar el archivo y eliminar la línea que desea eliminar. También puede usar esto para editar crontab para usuarios si tiene el aviso para ese usuario.

Por cierto: prefiero agregar cronjobs a /etc/crontab . Me parece un poco más flexible.

    
respondido por el Rinzwind 21.01.2014 - 09:34
7

Ver usuarios Cronjob

Use la siguiente sintaxis para ver el cronjob del usuario de waqleh :

crontab -u waqleh -l

Ver el usuario final de raíz Root

Simplemente escriba el siguiente comando:

crontab -l

Esto debería mostrar el contenido del script crontab.

Ver / etc / crontab

Un cronjob también se puede ejecutar desde el archivo / etc / crontab. Para verlo, ingrese:

less /etc/crontab

Eliminar todos los trabajos cron

Si y solo si desea detener todas las tareas cron, puede eliminarlas por completo con:

crontab -r

Esto elimina todo el archivo crontab así que ten cuidado si tienes otros trabajos cron listados allí!

Eliminar trabajos cron específicos

Abra el archivo cron y elimine los cron (s) que desea eliminar

crontab -e

cada línea representa un trabajo cron. Puedes eliminar cualquier cron usando ctrl + k, luego guardar y salir

    
respondido por el Waqleh 21.03.2016 - 13:45
0

Puede ejecutar crontab sin argumentos y darle el nuevo crontab a través de stdin.

    
respondido por el geirha 21.01.2014 - 09:27
0
crontab -l | grep -v 'wget php -q http://www.example.com/event_reminder.php' | crontab -

crontab -l lista los trabajos actuales de crontab

grep -v filtra alguna línea

crontab - agrega todo el material impreso en el archivo crontab.

    
respondido por el Diego D 22.10.2015 - 13:36

Lea otras preguntas en las etiquetas