Как удалить или удалить одно задание cron с помощью команды linux?

20

Я создал задания cron для моего сайта, которые перечислены ниже, и они работают нормально. Я печатаю все задания cron, используя этот скрипт PHP:

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

Какие выходы:

  

[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

Теперь я хочу удалить или удалить одно задание cron с моего сервера с помощью команды. Например, я хочу удалить cron job « 0 0 * * * wget php -q http://www.example.com/event_reminder.php » с сервера.

Я пробовал команду crontab -r , которая удаляет все задания cron с моего сервера, но я хочу удалить конкретное задание cron.

Не могли бы вы помочь мне в решении?

    
задан anumavu 21.01.2014 в 10:09
источник

5 ответов

30
  1. Чтобы добавить работу в crontab:

    (crontab -u mobman -l ; echo "*/5 * * * * perl /home/mobman/test.pl") | crontab -u mobman -
    
  2. Чтобы удалить задание из crontab:

    crontab -u mobman -l | grep -v 'perl /home/mobman/test.pl'  | crontab -u mobman -
    
  3. Удалите все из crontab:

    crontab -r
    

Ничего не сложно: - - это STDOUT в Linux!

    
ответ дан Greg Hanis 11.01.2016 в 17:45
12

В корневом запросе введите

crontab -e

Теперь вы можете отредактировать файл и удалить строку, которую хотите удалить. Вы также можете использовать это для редактирования crontab для пользователей, если у вас есть приглашение для этого пользователя.

Кстати: я предпочитаю добавлять cronjobs в /etc/crontab . Кажется немного более гибким для меня.

    
ответ дан Rinzwind 21.01.2014 в 10:34
5

Просмотр пользователей Cronjob

Используйте следующий синтаксис для просмотра cronjob waqleh :

crontab -u waqleh -l

Просмотр корневого пользователя Cronjob

Просто введите следующую команду:

crontab -l

Это должно отображать содержимое скрипта crontab.

Просмотреть / etc / crontab

Cronjob также можно запустить из файла / etc / crontab. Чтобы просмотреть его, введите:

less /etc/crontab

Удалить все задания cron

Если и только если вы хотите остановить все задания cron, вы можете полностью удалить их:

crontab -r

Этот удаляет весь файл crontab , поэтому будьте осторожны, если у вас есть другие задания cron, перечисленные там!

Удалить задание (c) cron

Откройте cron-файл и удалите cron (s), которые вы хотите удалить

crontab -e

каждая строка представляет собой задание cron. Вы можете удалить любой cron с помощью ctrl + k, затем сохранить и выйти из

    
ответ дан Waqleh 21.03.2016 в 14:45
0

Вы можете запустить crontab без аргументов и подать новый crontab через stdin.

    
ответ дан geirha 21.01.2014 в 10:27
0
crontab -l | grep -v 'wget php -q http://www.example.com/event_reminder.php' | crontab -

crontab -l перечисляет текущие задания crontab

grep -v фильтровать некоторую строку

crontab - добавляет все печатные материалы в файл crontab.

    
ответ дан Diego D 22.10.2015 в 15:36