Es gibt zwei Möglichkeiten, die eigenen zu bearbeiten crontab:
interaktiv, mit crontab -e, die crontabin dem von $VISUALoder $EDITOR, oder angegebenen Editor öffnen
Nicht-interaktiv, mit crontab crontab.txt, die einfach die importieren crontabEinträge aus der Datei crontab.txt, ersetzt die bestehende aktive crontab für den aktuellen Benutzer.
Das Problem, das Sie haben, ist, dass Sie einfach den crontabfalschen Befehl verwenden.
Das Folgende betrifft nicht interaktive Crontab-Manipulationen:
Um bestimmte Aufgaben programmgesteuert zu entfernen , können Sie beispielsweise Folgendes tun
$ crontab -l | grep -v 'PATTERN' >crontab.txt && crontab crontab.txt
Wo PATTERNist ein regulärer Ausdruck, der zu den Aufgaben passt, die Sie entfernen möchten? Hier crontab -lgeben Sie Ihre aktuelle crontab.
Wenn Sie Einträge in einer Datei mit dem Namen haben crontab-fragment.txt, die Sie aus der aktiven Crontab entfernen möchten,
$ crontab -l | grep -v -Fx -f crontab-fragment.txt >crontab.txt && crontab crontab.txt
Dies liest die aktuelle crontab und filtert (entfernt) alle Zeilen, die auch in der Datei crontab-fragment.txtim aktuellen Verzeichnis vorkommen (unter Verwendung eines vollständigen Zeilenfolgenvergleichs). Das Ergebnis wird gespeichert crontab.txtund von dort geladen, um die aktuelle Crontab zu ersetzen.
Um fügen Sie eine oder mehrere Aufgabe , so etwas wie
$ crontab -l | cat - crontab-fragment.txt >crontab.txt && crontab crontab.txt
Dies setzt voraus, dass die Datei crontab-fragment.txtdie Einträge enthält, die Sie hinzufügen möchten. Es liest die aktuelle Crontab, hängt die Einträge crontab-fragment.txtan diese an und erstellt sie crontab.txt. Die crontab.txtDatei ersetzt dann die aktuelle crontab.