ubuntuusers.de

Für diese Funktion musst du eingeloggt sein.

Cronjob richtig nutzen

Status: Ungelöst | Ubuntu-Version: Kubuntu 24.10 (Oracular Oriole)
Antworten |

Helge63

Anmeldungsdatum:
16. September 2024

Beiträge: Zähle...

Hallo in die Runde, Ich brauche mal Hilfe/Unterstützung 🙂 Ich nutze seit einiger Zeit Kubuntu . Ich möchte das der PC jeden Tag zu einer bestimmten Zeit Aufwacht und nach einer festgelegten Zeit wieder Einschläft . Das habe ich auch hinbekommen, ich mache das mit einem Cronjob. Jetzt ist mir aber aufgefallen das, wenn ich den dann zwischendurch aufwecke, etwas erledige und ihn dann wieder in den mem schicke ,der Cronjob nicht mehr Arbeitet, sprich der PC wacht nicht mehr zur eingestellten Zeit auf. Die Frage ist nun wie ich es anstelle das der Cronjob trotzdem funktioniert? Danke für eure Hilfe 🙏

schwarzheit Team-Icon

Supporter
Avatar von schwarzheit

Anmeldungsdatum:
31. Dezember 2007

Beiträge: 4766

Wie wäre es wenn du deine Cronjobs mal herzeigst? So kann man nichts dazu sagen.

micneu

Avatar von micneu

Anmeldungsdatum:
19. Januar 2021

Beiträge: 826

Wohnort: Hamburg

Ich verstehe nicht warum du es machen willst, was genau ist dein Ziel. Ist es wirklich nur dein Rechner mit dem du surfst oder ist es eine Art Server auf dem Dienste laufen? Warum soll er nicht durch laufen?

schwarzheit Team-Icon

Supporter
Avatar von schwarzheit

Anmeldungsdatum:
31. Dezember 2007

Beiträge: 4766

Ich hab mal n bisl rumgelesen. Das Prob wirst du mit nem Cronjob nicht lösen können. Dazu braucht es systemd Timer- und Serviceunit.

Beispielsweise so:

Timerunit:

sudo nano /etc/systemd/system/wakeup.timer

Inhalt:

[Unit]
Description=Weckt den Rechner täglich um 07:00 Uhr

[Timer]
OnCalendar=*-*-* 07:00:00
Persistent=true

[Install]
WantedBy=timers.target

Serviceunit:

sudo nano /etc/systemd/system/wakeup.service

Inhalt:

[Unit]
Description=Setzt den Wakeup-Timer für 07:00 Uhr

[Service]
Type=oneshot
ExecStart=/usr/sbin/rtcwake -m no -t $(date -d '07:00' +%s)

aktivieren:

sudo systemctl daemon-reload
sudo systemctl enable --now wakeup.timer

Nachtrag: Nano bedient man mit der Tastatur (Pfeiltasten), das Menue ist unten und ereicht man mit der Strg -Taste + Buchstabe.

Helge63

(Themenstarter)

Anmeldungsdatum:
16. September 2024

Beiträge: 6

micneu schrieb:

Ich verstehe nicht warum du es machen willst, was genau ist dein Ziel. Ist es wirklich nur dein Rechner mit dem du surfst oder ist es eine Art Server auf dem Dienste laufen? Warum soll er nicht durch laufen?

Ich möchte den Rechner halt nur zu bestimmten Zeiten an haben (Energiesparen und Hardware schonen), es sind Medien darauf die ich von Unterwegs( Wohnmobil) nutzen möchte.

Helge63

(Themenstarter)

Anmeldungsdatum:
16. September 2024

Beiträge: 6

schwarzheit schrieb:

Ich hab mal n bisl rumgelesen. Das Prob wirst du mit nem Cronjob nicht lösen können. Dazu braucht es systemd Timer- und Serviceunit.

Beispielsweise so:

Timerunit:

sudo nano /etc/systemd/system/wakeup.timer

Inhalt:

[Unit]
Description=Weckt den Rechner täglich um 07:00 Uhr

[Timer]
OnCalendar=*-*-* 07:00:00
Persistent=true

[Install]
WantedBy=timers.target

Serviceunit:

sudo nano /etc/systemd/system/wakeup.service

Inhalt:

[Unit]
Description=Setzt den Wakeup-Timer für 07:00 Uhr

[Service]
Type=oneshot
ExecStart=/usr/sbin/rtcwake -m no -t $(date -d '07:00' +%s)

aktivieren:

sudo systemctl daemon-reload
sudo systemctl enable --now wakeup.timer

Nachtrag: Nano bedient man mit der Tastatur (Pfeiltasten), das Menue ist unten und ereicht man mit der Strg -Taste + Buchstabe.

Okay , damit funktioniert das auch wenn ich ihn zwischendurch wecke ? Cool Danke , das probiere ich aus 🙏

schwarzheit Team-Icon

Supporter
Avatar von schwarzheit

Anmeldungsdatum:
31. Dezember 2007

Beiträge: 4766

Helge63 schrieb:

Okay , damit funktioniert das auch wenn ich ihn zwischendurch wecke ?

Ja genau, mit systemd geht das mit cronjob nicht.

Helge63

(Themenstarter)

Anmeldungsdatum:
16. September 2024

Beiträge: 6

schwarzheit schrieb:

Ich hab mal n bisl rumgelesen. Das Prob wirst du mit nem Cronjob nicht lösen können. Dazu braucht es systemd Timer- und Serviceunit.

Beispielsweise so:

Timerunit:

sudo nano /etc/systemd/system/wakeup.timer

Inhalt:

[Unit]
Description=Weckt den Rechner täglich um 07:00 Uhr

[Timer]
OnCalendar=*-*-* 07:00:00
Persistent=true

[Install]
WantedBy=timers.target

Serviceunit:

sudo nano /etc/systemd/system/wakeup.service

Inhalt:

[Unit]
Description=Setzt den Wakeup-Timer für 07:00 Uhr

[Service]
Type=oneshot
ExecStart=/usr/sbin/rtcwake -m no -t $(date -d '07:00' +%s)

aktivieren:

sudo systemctl daemon-reload
sudo systemctl enable --now wakeup.timer

Nachtrag: Nano bedient man mit der Tastatur (Pfeiltasten), das Menue ist unten und ereicht man mit der Strg -Taste + Buchstabe.

Was muss ich dann noch wo eintragen damit er dann , in deinem Beispiel , um 11:30 wieder in den Standby geht?

schwarzheit Team-Icon

Supporter
Avatar von schwarzheit

Anmeldungsdatum:
31. Dezember 2007

Beiträge: 4766

Logischerweise alles das wo 7 Uhr (und alle anderen Schreibweisen davon) steht musste ändern.

schwarzheit Team-Icon

Supporter
Avatar von schwarzheit

Anmeldungsdatum:
31. Dezember 2007

Beiträge: 4766

Bitte unterlasse Fullquote. Lies dazu Zitate.

Da steht eindeutig:

Hier wird ausdrücklich von "Teile eines vorherigen Beitrags" gesprochen, gesamte -also komplette- Beitragen zu zitieren ist unerwünscht.

Und wenn man direkt antwortet reicht ein @[user:Benutzername:] da braucht es garkein Zitat.

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14367

schwarzheit schrieb:

Ja genau, mit systemd geht das mit cronjob nicht.

Warum ist das so, dass es mit einer timer-unit funktioniert und mit einem cronjob nicht funktioniert?
Die Zeile:

/usr/sbin/rtcwake -m no -t $(date -d '07:00' +%s)

könnte man doch auch in einem shell-Script verwenden und das shell-Script dann mit dem cronjob ausführen lassen, oder?

schwarzheit Team-Icon

Supporter
Avatar von schwarzheit

Anmeldungsdatum:
31. Dezember 2007

Beiträge: 4766

Weil er, wenn er zwischendurch den Rechner nochma startet, den Cronjob stört. Der systemd-Unit ist das wurscht.

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14367

schwarzheit schrieb:

Weil er, wenn er zwischendurch den Rechner nochma startet, den Cronjob stört.

Naja, er wird nicht _jeden_ cronjob stören, sondern nur den cronjob den er uns zeigen sollte, aber dann doch nicht gezeigt hat.

schwarzheit Team-Icon

Supporter
Avatar von schwarzheit

Anmeldungsdatum:
31. Dezember 2007

Beiträge: 4766

Ja und genau das ist das Problem. Wenn er diesen einen Cronjob stört klappts halt nicht mehr. Die systemd-Unit stört das nicht die kann er nicht stören.

Helge63

(Themenstarter)

Anmeldungsdatum:
16. September 2024

Beiträge: 6

@schwarzheit Entschuldigung für meine verspätete Antwort. Das was Du da mir da geschrieben hast, mit der systemd Timer- und Serviceunit habe ich nicht hinbekommen.Der Rechner hat überhaupt nichts gemacht. Ich habe es jetzt 2 Wochen mit dem Cronjob laufen lassen und das hat Funktioniert, ist aber ja keine Lösung für mich. Kannst Du mir das mit der systemd Timer- und Serviceunit noch einmal, mit meinen Zeiten die ich haben möchte, also um 19:00 Uhr an und um 23:30 Uhr aus und das jeden Tag ,hier einstellen ? Danke für deine Hilfe

Antworten |