Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>Problem mit cronjob 10.7.2

Problem mit cronjob 10.7.2

tomben27.10.1112:59
Hallo,
Ich habe vor 6 Monaten einen cronjob eingerichtet welcher 1 pro Stunde ein bestimmtes Verzeichnis zip´d und auf einen externen Server kopiert. Jetzt bin ich mit dem Projekt fertig und möchte den cronjob deaktivieren.
Hier mein Problem:

Mittels cronjob -l wird nichts angezeigt. Wie komme ich nun an den Cronjob ran und kann ihn löschen?!


Gruss
„ Heute Code ich, morgen Debug ich und übermorgen cast ich die Königin auf int. “
0

Kommentare

d-welt27.10.1113:15
Wie wäre es mit
crontab -l
?
0
sierkb27.10.1113:31
Mittels cronjob -l wird nichts angezeigt.

Möglicherweise, weil's nicht cronjob -l heißt, sondern crontab -l?

$ man 1 crontab

lesen.
Wie komme ich nun an den Cronjob ran und kann ihn löschen?!

$ man 1 crontab

lesen. Da steht drin, was Du wissen willst.

Die Manpage (man crontab) zu Crontab sagt z.B.:
crontab -u $USER: Specify the name of the user whose crontab is to be tweaked. If this option is not given, crontab examines ``your'' crontab, i.e., the crontab of the person executing the command. Note that su(1) can confuse crontab and that if you are running inside of su(1) you should always use the -u option for safety's sake.

crontab -l: Display the current crontab on standard output.

crontab -r: Remove the current crontab.

crontab -e: Edit the current crontab using the editor specified by the VISUAL or EDITOR environment variables. The specified editor must edit the file in place; any editor that unlinks the file and recreates it cannot be used. After you exit from the editor, the modified crontab will be installed automatically.

Abgelegt werden die Crontabs unter /var/at/tabs/$USER.
Das Verzeichnis /var/at/tabs gehört root, er hat standardmäßig als Einziger Lese- und Schreibzugriff darauf. Man muss mindestens Admin-Rechte und beim Schreiben/Ändern mittels sudo root-Rechte erlangt haben, um in dieses Verzeichnes wechseln und dort dann manuell und ohne crontab -e zu bemühen mittels sudo schreiben/ändern/löschen zu können.

crontab -r löscht die gesamte crontab für den betreffenden $USER.
Im ergebnis wie ein rm /var/at/tabs/$USER bzw. ein cd /var/at/tabs/; rm $USER.
Will man einzelne Cronjobs in einer Crontab eines $USER löschen, so geht man da am besten mit einem Editor rein und löscht die betreffenden Zeilen einfach bzw. editiert die Crontab mit crontab -e.

Manpage crontab online: und

Außerdem (crontab-Manpage) wissens- und beachtenswert:
(Darwin note: Although cron(8) and crontab(5) are officially supported under Darwin, their functionality has been absorbed into launchd(8), which provides a more flexible way of automatically executing commands. See
launchctl(1) for more information.)

Aufgrund zuletzt genannten Hinweises sollte es eigentlich nur noch in äußerst seltenen Fällen sinnvoll sein, Cron bzw. Crontab für eigene Dienste überhaupt noch in Anspruch zu nehmen. Das macht man am besten viel zeitgemäßer mittels launchd und einem launchd-Skript, das man dann ins Benutzer-Verzeichnis ~/Library/LaunchAgents oder ~/Library/LaunchDaemons legt (wenn systemweit, dann in die entsprechenden systemweiten Pendants dazu).
0
MIBLex
MIBLex27.10.1113:39
Fast ...
crontab -e

-e für editieren

Zeile löschen: im Kommandomodus dd, anschließend :wq! (schreiben und schließen)
„Wenn das Gas nicht funktioniert, und Dein Haus Dir explodiert, dann ist egal, wie laut Du schreist, Du kriegst bloß noch den Grundstückspreis“
0
tomben27.10.1114:52
Sorry für den Fehler: ich meinte
crontab -l
. Ich bekomme aber nichts angezeigt

Bei
crontab -e
bekomme ich ein leeres Dokument.

Wenn ich nicht sehen würde das der Cronjob läuft ( aufgrund vorhandener Backups) dann könnte man denken der Job sei deaktiviert. Dem ist aber leider nicht so
„ Heute Code ich, morgen Debug ich und übermorgen cast ich die Königin auf int. “
0
smuehli
smuehli27.10.1115:14
Machst Du das auch mit dem richtigen User?

MIBLex statt wq! kannst Du auch ZZ machen.....
0
tomben27.10.1115:17
Ja nutze den richtigen Account. Der Quellordner liegt auch nur in diesem Profil, also kann es nur dieser Account sein.
„ Heute Code ich, morgen Debug ich und übermorgen cast ich die Königin auf int. “
0
Marcel Bresink27.10.1116:06
Möglicherweise hast Du einfach die System-Crontab verwendet, was wesentlich einfacher als eine Benutzer-Crontab oder gar eine launchd-Definition ist.

Siehst Du Deinen Job-Eintrag, wenn Du

sudo cat /etc/crontab

eingibst?
0
Timmeyy27.10.1116:11
tomben
Der Quellordner liegt auch nur in diesem Profil, also kann es nur dieser Account sein.

Das ist nicht zwangsläufig davon abhängig.
Mal paar Ansätze, die du versuchen könntest:
- sudo crontab -l
- mal in /var/at/tabs nachschauen, ob da was für deinen User liegt.
- mal in /etc/crontab schauen, ob du es nicht versehentlich in die System-Jobs geschrieben hast.
- crontab -e ausführen und die leere Datei speichern, wenn du sowieso vor hast, den Cronjob zu löschen (und sonst keine mehr hast).

Edit: LOL, selber Gedanke @@Marcel
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.