Como remover ou excluir um único trabalho cron usando o comando linux?

24

Eu criei cron jobs para o meu site que estão listados abaixo e eles estão funcionando bem. Eu imprimo todos os trabalhos cron usando este script PHP:

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

Quais resultados:

  

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

Agora quero excluir ou remover um único trabalho cron do meu servidor por meio do comando. Por exemplo, eu quero remover o cron job " 0 0 * * * wget php -q http://www.example.com/event_reminder.php " do servidor.

Eu tentei o comando crontab -r , que remove todo o trabalho cron do meu servidor, mas eu quero remover o trabalho cron específico.

Você pode me ajudar por solução?

    
por anumavu 21.01.2014 / 10:09

5 respostas

34

  1. Para adicionar um trabalho ao crontab:

    (crontab -u mobman -l ; echo "*/5 * * * * perl /home/mobman/test.pl") | crontab -u mobman -
    
  2. Para remover um trabalho do crontab:

    crontab -u mobman -l | grep -v 'perl /home/mobman/test.pl'  | crontab -u mobman -
    
  3. Remover tudo do crontab:

    crontab -r
    

Nada é complicado: - é STDOUT no Linux!

    
por Greg Hanis 11.01.2016 / 17:45
15

De um tipo de prompt raiz

crontab -e

Agora você pode editar o arquivo e remover a linha que deseja remover. Você também pode usar isso para editar o crontab para os usuários se você tiver o prompt para esse usuário.

A propósito: eu prefiro adicionar cronjobs a /etc/crontab . Parece um pouco mais flexível para mim.

    
por Rinzwind 21.01.2014 / 10:34
7

Visualizar usuários Cronjob

Use a seguinte sintaxe para visualizar o cronjob do usuário do waqleh :

crontab -u waqleh -l

Ver usuário root Cronjob

Basta digitar o seguinte comando:

crontab -l

Isso deve listar o conteúdo do script crontab.

Ver / etc / crontab

Um cronjob também pode ser executado a partir do arquivo / etc / crontab. Para visualizá-lo, digite:

less /etc/crontab

Remover todos os trabalhos do cron

Se e somente se você quiser interromper todas as tarefas do cron, poderá removê-las totalmente com:

crontab -r

Este remove todo o arquivo crontab , portanto tenha cuidado se você tiver outros trabalhos cron listados lá!

Remover tarefas cron específicas

Abra o arquivo cron e exclua o (s) cron (s) que você deseja remover

crontab -e

cada linha representa um cron job. Você pode remover qualquer cron usando ctrl + k e depois salvar e sair

    
por Waqleh 21.03.2016 / 14:45
0

Você pode executar crontab sem argumentos e alimentá-lo com o novo crontab via stdin.

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

crontab -l lista os trabalhos atuais do crontab

grep -v filtra alguma linha

crontab - adiciona todo o material impresso no arquivo crontab.

    
por Diego D 22.10.2015 / 15:36

Tags