wenn ich mit
Code: Alles auswählen
mcedit /etc/crontab
In der Datei steht nämlich so etwas drin:
Code: Alles auswählen
*/7 * * * * /home/user/script1.sh
Edit: Aktuellste Lösung, siehe auch hier:
viewtopic.php?t=178332&start=15#p1288474
Code: Alles auswählen
mcedit /etc/crontab
Code: Alles auswählen
*/7 * * * * /home/user/script1.sh
Code: Alles auswählen
apt search mcedit
Sortierung... Fertig
Volltextsuche... Fertig
Das sollte eigentlich mit jedem Editor funktionieren!?desputin hat geschrieben:15.08.2020 21:02:05Hallo Ihr,
wenn ich miteinen cronjob einrichte, funktioniert das anscheinend unter Debian nicht. Warum?Code: Alles auswählen
mcedit /etc/crontab
Weil crontab -e die userspezifische und /etc/crontab die systemspezifische Crontab ist.In der Datei steht nämlich so etwas drin:Wenn ich aber crontab -e eingebe, steht da was anderes! Warum?!Code: Alles auswählen
*/7 * * * * /home/user/script1.sh
Weil man mit einem Editor nunmal keinen cron-Job einrichten kann. Man kann nur eine Datei editieren, die man cron "zum Fraß" vorwerfen kann, damit der später von cron ausgeführt wird.desputin hat geschrieben:15.08.2020 21:02:05wenn ich miteinen cronjob einrichte, funktioniert das anscheinend unter Debian nicht. Warum?Code: Alles auswählen
mcedit /etc/crontab
Code: Alles auswählen
crontab -l > jobs
vi jobs
crontab jobs
Code: Alles auswählen
apt-file search mcedit
manpages-pl: /usr/share/man/pl/man1/mcedit.1.gz
mc: /etc/mc/mcedit.menu
mc: /usr/bin/mcedit
mc: /usr/share/applications/mcedit.desktop
mc: /usr/share/pixmaps/mcedit.xpm
mc-data: /usr/share/man/man1/mcedit.1.gz
Ist das an Umständlichkeit zu überbieten? Was ist der Vorteil gegenüber einem schnöden crontab -e?MSfree hat geschrieben:15.08.2020 22:14:19Ich verfahre da immer so:Also erstmal die bestehenden Jobs in eine Datei schreiben (hier jobs), Dann die Datei editieren, von mir aus auch mit mcedit, und dann die editierte Datei cron wieder zuführen.Code: Alles auswählen
crontab -l > jobs vi jobs crontab jobs
crontab -e tut genau das. Der wichtige Unterschied und vermutlich auch die Fehlerquelle wurde oben bereits genannt, aber wohl nicht deutlich genug.MSfree hat geschrieben:15.08.2020 22:14:19Weil man mit einem Editor nunmal keinen cron-Job einrichten kann.
Code: Alles auswählen
*/7 * * * * /home/user/script1.sh
Nein, echt super! Eine Warnung, bevor du eine Datei syntaktisch im inkonsistenten Zustand hinterlässt.desputin hat geschrieben:16.08.2020 00:37:36Hallo Ihr,
ich hab jetzt einfach crontab -e verwendet. Hat jetzt auch mit mcedit (mein Standardeditor) gut geklappt. Erstmal hatte er sich geweigert, den Crontab abzuspeichern, weil ich nach der letzten Zeile nicht noch mit Enter eine Leerzeile eingefügt habe. Echt kompliziert.
Das ist ein Betriebssystem?!Wie schön wäre es doch, wenn das Ganze etwas verständlicher/intuitiver wäre.
Hier wird jeden Tag gezeigt, dass es reicht, google bedienen zu können, um halbwegs als Experte angesehen zu werden!? Egal - hast du den Unterschied user/system-Crontab verstanden? Das war der Punkt...Muß man wahrscheinlich ein Informatiker oder Autist sein, um auf solche Systeme zu kommen....
Code: Alles auswählen
*/7 * * * * /home/user/script1.sh
Vermutlich an PATH, daran liegt es immer!? Ansonsten erschlagen einen fast die Informationen.
Code: Alles auswählen
*/7 * * * * /bin/bash --login /home/user/script1.sh
Code: Alles auswählen
sudo update-alternatives --config editor
Code: Alles auswählen
*/7 * * * * /bin/bash --login /home/user/script1.sh
Code: Alles auswählen
[Leerzeile, also nur Enter drücken nach der Zeile oben]
Das war bei crontab aber schon immer so, siehe man crontab:desputin hat geschrieben:27.11.2021 14:45:25eine Leerzeile ganz am Ende einzugeben. Sonst geht das irgendwie nicht.
crontab(1) hat geschrieben: cron requires that each entry in a crontab end in a newline character. If the last entry in a crontab is
missing the newline, cron will consider the crontab (at least partially) broken and refuse to install it.
Code: Alles auswählen
*/42 22 * * * /bin/bash --login /home/user/scripts/script1.sh
Versuch mal mit:
Code: Alles auswählen
42 22 * * * /bin/bash --login /home/user/scripts/script1.sh
Wie hast Du getestet, denn 22:42 Uhr war ja schon vorbei?
Code: Alles auswählen
29 9 * * * logger "test: `date`" # Uhrzeit evtl. anpassen
Nicht beim ersten Mal: "*/42 22 * * *" bedeutet ab 22:00 Uhr alle 42 Minuten, also 22:00 und 22:42. Das kann man im Zweifel auch einfach selbst kurz testen.mat6937 hat geschrieben:16.07.2023 09:09:09Wie hast Du getestet, denn 22:42 Uhr war ja schon vorbei?
Um die Richtigkeit seiner Zeile zu beweisen/widerlegen macht es irgendwie wenig Sinn, etwas völlig anderes zu testen. Interessanter ist da bestimmt: warum schreibt er in die Crontab von root und wurde das Skript ausgeführt (ist es ausführbar und angelaufen).Versuch mal mit:Code: Alles auswählen
29 9 * * * logger "test: `date`" # Uhrzeit evtl. anpassen
Das ist nichts anderes bzw. das ist der 1. Schritt - die Uhrzeit. Wenn er weiß wie und ob das funktioniert. kommt evtl. der 2. Schritt, mit der root-crontab, Script, shell, etc.tobo hat geschrieben:16.07.2023 10:08:43Um die Richtigkeit seiner Zeile zu beweisen/widerlegen macht es irgendwie wenig Sinn, etwas völlig anderes zu testen.
Ah, ich dachte du fängst noch vorher an: Läuft cron überhaupt? Hat denn außer dir jemand Zweifel, dass die gezeigte Uhrzeit (um 22:42) funktioniert? Wenn du die Richtigkeit in Frage stellst, dann kannst du das doch selbst kurz nachlesen oder bei deinem Guru testen.mat6937 hat geschrieben:16.07.2023 10:23:44Das ist nichts anderes bzw. das ist der 1. Schritt - die Uhrzeit. Wenn er weiß wie und ob das funktioniert. kommt evtl. der 2. Schritt, mit der root-crontab, Script, shell, etc.tobo hat geschrieben:16.07.2023 10:08:43Um die Richtigkeit seiner Zeile zu beweisen/widerlegen macht es irgendwie wenig Sinn, etwas völlig anderes zu testen.