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


40

Я создал рабочие места 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 " 0 0 * * * wget php -q http://www.example.com/event_reminder.php" с сервера.

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

Можете ли вы помочь мне для решения?

Ответы:


61
  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!


1
Грег: Добро пожаловать, чтобы спросить Ubuntu! ;-) Не могли бы вы просмотреть мои правки, а также просмотреть справку по редактированию, чтобы улучшить читаемость ваших ответов в будущем ... ;-)
Fabby

4
Пожалуйста, замените 1. Чтобы добавить работу в crontab с помощью (crontab -u mobman -l 2> / dev / null; echo "* / 5 * * * * perl /home/mobman/test.pl") | crontab -u mobman - (ссылка: stackoverflow.com/questions/4880290/… )
Yasiru G

1
@YasiruG Я думаю, что crontab -l 2 > /dev/nullэто необходимо только в том случае, если вы не хотите видеть сообщение, no crontab for <user>если не существует задание cron. Кстати, эта опция нам не нужна, -u mobmanесли мы хотим добавить задание cron для текущего пользователя.
baptx

23

Из корневого типа подсказки

crontab -e

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

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


Это кажется проще и имеет больше смысла, чем сценарий, но мне бы хотелось, чтобы он был больше похож на мастера.
Джейсон Себринг

Отлично
подходит

7

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

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

crontab -u waqleh -l

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

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

crontab -l

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

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

Cronjob также можно запустить из файла / etc / crontab. Для просмотра введите:

less /etc/crontab

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

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

crontab -r

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

Удалить определенные задания cron

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

crontab -e

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


1
crontab -l | grep -v 'wget php -q http://www.example.com/event_reminder.php' | crontab -

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

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

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


0

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


@qeirha .. Я хочу удалить конкретное задание cron со своего сервера
anumavu

@anumavu, правильно, так что вы читаете это с помощью crontab -l, как у вас уже есть, удалите работу из списка, а затем запишите ее обратно crontab.
гейра
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.