it-swarm.com.de

Wie entferne oder lösche ich einen einzelnen Cron-Job mit dem Linux-Befehl?

Ich habe für meine Site Cron-Jobs erstellt, die unten aufgeführt sind und einwandfrei funktionieren. Ich drucke alle Cronjobs mit diesem PHP Skript:

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

Welche Ausgänge:

[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

Jetzt möchte ich einen einzelnen Cron-Job über den Befehl von meinem Server löschen oder entfernen. Zum Beispiel möchte ich den Cron Job "0 0 * * * wget php -q http://www.example.com/event_reminder.php" vom Server entfernen.

Ich habe den Befehl crontab -r ausprobiert, der alle Cron-Jobs von meinem Server entfernt, aber ich möchte bestimmte Cron-Jobs entfernen.

Können Sie mir bitte zur Lösung helfen?

37
anumavu
  1. So fügen Sie einen Job zu crontab hinzu:

    (crontab -u mobman -l ; echo "*/5 * * * * Perl /home/mobman/test.pl") | crontab -u mobman -
    
  2. So entfernen Sie einen Job von crontab:

    crontab -u mobman -l | grep -v 'Perl /home/mobman/test.pl'  | crontab -u mobman -
    
  3. Alles von crontab entfernen:

    crontab -r
    

Nichts ist knifflig: - ist unter Linux STDOUT!

58
Greg Hanis

Von einem Root-Eingabeaufforderungstyp

crontab -e

Sie können nun die Datei bearbeiten und die zu entfernende Zeile entfernen. Sie können damit auch die crontab für Benutzer bearbeiten, wenn Sie die Eingabeaufforderung für diesen Benutzer haben.

Übrigens: Ich ziehe es vor, Cronjobs zu /etc/crontab hinzuzufügen. Scheint mir etwas flexibler.

21
Rinzwind

View Users Cronjob

Verwenden Sie die folgende Syntax, um waqleh den Cronjob des Benutzers anzuzeigen:

crontab -u waqleh -l

Root-Benutzer Cronjob anzeigen

Geben Sie einfach den folgenden Befehl ein:

crontab -l

Dies sollte den Inhalt des Crontab-Skripts auflisten.

View/etc/crontab

Ein Cronjob kann auch aus der Datei/etc/crontab ausgeführt werden. Geben Sie zum Anzeigen Folgendes ein:

less /etc/crontab

Entfernen Sie alle Cron-Jobs

Wenn und nur wenn Wenn Sie alle Cron-Jobs stoppen möchten, können Sie sie vollständig entfernen mit:

crontab -r

Dies entfernt die gesamte crontab-Datei also sei vorsichtig, wenn andere cron-Jobs dort aufgelistet sind!

Bestimmte Cron-Jobs entfernen

Öffnen Sie die Cron-Datei und löschen Sie die Cron, die Sie entfernen möchten

crontab -e

jede Zeile repräsentiert einen Cron Job. Sie können alle Cron entfernen, indem Sie Strg + K verwenden, dann speichern und beenden

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

crontab -l listet die aktuellen Crontab-Jobs auf

grep -v filtert eine Zeile

crontab - fügt alle gedruckten Sachen in die crontab-Datei ein.

1
Diego D

Sie können crontab ohne Argumente ausführen und ihm die neue crontab über stdin zuführen.

0
geirha