Hi, bißchen fehlplatziert hier, vllt. . Ich betreibe einen RaspberryPi und benutze cronjobs die durch die crontab gesteuert werden um periodisch Dinge zu erledigen. Der Raspi kommt aber eine Stunde zu spät. 'date' zeigt die richtige Zeit und 'CEST'. Ich denke die cronjobs benutzen 'date'? Wo muss ich denn da schrauben? THX Cheers Detlef
Detlef _. schrieb: > Ich denke die cronjobs benutzen 'date'? Ja, aber deine Konsole ist vielleicht gar nicht auf die lokale Zeitzone "Berlin" eingestellt. Die beiden Befehle, die Harry genannt hat, müssten das korrigieren. Danach musst du eventuell die Uhrzeit korrigieren.
@ Det Einfach "sudo raspi-config" in der Konsole aufrufen und die Zeitzone einstellen. Der Punkt nennt sich: Localisation Options
Hi,
Reaktion auf
>>sudo apt install tzdata
war 'tzdata is already the newest version'
Dann
sudo dpkg-reconfigure tzdata
war 'Europe/Berlin'
Local time/ UTC, beides richtig
Die crontab ist eingestellt auf 9:43, gestartet wird um 10:43. Soweit
ich weiß werden die cronjobs als 'root' ausgeführt, 'sudo date' gibt
aber auch die richtige Zeit.
Weiß jemend den Reim?
THX
Cheers
Detlef
Was sagt die Ausgabe von
1 | sudo echo $TZ |
Da sollte gar nichts passieren. Du kannst Cronjobs auch als User laufen lassen. Dazu als User einfach:
1 | crontab -e |
Ohne Sudo!!! Wird dann auch UTC verwendet, oder nur bei root?
:
Bearbeitet durch User
Hi, Harry L. schrieb: > Was sagt die Ausgabe von >
1 | > sudo echo $TZ |
2 | > |
> Da sollte gar nichts passieren. bei 'echo $TZ' und 'sudo echo $TZ' kommt jeweils ne Leerzeile > Du kannst Cronjobs auch als User laufen lassen. > Dazu als User einfach: >
1 | > crontab -e |
2 | > |
> Ohne Sudo!!! Ich hatte 'crontab -e' gemacht, nicht 'sudo crontab -e'. Bei 'sudo crontab -e' geht ne neue, leere crontab auf. Ich hatte verstanden, dass cronjobs als root laufen selbst wenn man als user ne crontab aufsetzt ??!!! Ich hab nochmal ne crontab für root aufgesetzt, mal schauen ob die auch zu spät dran ist. > Wird dann auch UTC verwendet, oder nur bei root? Es wird nicht UTC verwendet. Ich habe 1h Versatz, UTC liegt 2h weg. THX Cheers Detlef
Detlef _. schrieb: > Ich hatte verstanden, dass cronjobs als root laufen > selbst wenn man als user ne crontab aufsetzt Hoffentlich nicht, das wäre eine kolossale Sicherheitslücke.
Moin, - > Ich hatte verstanden, dass > cronjobs als root laufen selbst wenn man als user ne crontab aufsetzt Nein. Der Start der Daemons braucht root-Rechte, die Kommandos werden (in einer art login-shell) fuer den Benutzer ausgefuehrt. Gruesse Th. P.S.: Gehe davon aus, dass Du das Problem bist. Es gibt genug Nutzer, die Cron benutzen. Zeige die Crontab-Zeile!
Hier die crontab. Die funzt schon, aber eben eine Stunde zu spät.
>>>>>>
P.S.: Gehe davon aus, dass Du das Problem bist. Es gibt genug Nutzer,
die Cron benutzen. Zeige die Crontab-Zeile!
Ja, ich bin immer das Problem, danke nochmal für den Hinweis. Und dass
ich cron nicht verstehe ist eines der kleinsten von mir verursachten
Probleme.
THX
Cheers
Detlef
:
Bearbeitet durch User
Moin, - das war nicht boese gemeint. Aber viele Benutzer benutzen Cron. Der Benutzername des Kommandos fehlt! Der muss auch beim Benutzerspezifischen Crontab besetzt werden, z.B. (von aktuellen Raspian):
1 | # Example of job definition:
|
2 | # .---------------- minute (0 - 59)
|
3 | # | .------------- hour (0 - 23)
|
4 | # | | .---------- day of month (1 - 31)
|
5 | # | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
|
6 | # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
|
7 | # | | | | |
|
8 | # * * * * * user-name command to be executed
|
9 | 17 * * * * root cd / && run-parts --report /etc/cron.hourly |
10 | 25 6 * * * root test -x /usr/sbin/anacron || |
Spendier den Benutzernamen und vermutlich wird alles funktionieren. Gruesse Th. Hier Edit: P.S.: Es kann sein, dass meine Ausfuehrungen nicht ganz richtig sind (ich habe immer versucht, nur eine system-weite crontab zu haben [wg. Uebersicht]) Und es scheint auch Unterschiede zwischen Debian und Raspbian zu geben. Bah! > Ja, ich bin immer das Problem, danke nochmal für den Hinweis. Und dass > ich cron nicht verstehe ist eines der kleinsten von mir verursachten > Probleme. > > THX > Cheers > Detlef
Thomas W. schrieb: > Der Benutzername des Kommandos fehlt! Den gibt es nur im "System Cron File" (/etc/crontab), im normalen "Cron File" nicht. Dein Argument zieht auch nicht für den 1h-Zeitversatz. Aufrufen und Lesen:
1 | man 5 crontab |
:
Bearbeitet durch Moderator
Woran erkennst Du denn, dass die jobs zu spät gestartet werden? Erstelle mal ein crontab-Eintrag, in dem Du stündlich die Zeit in eine Datei schreibst: date>zeit.txt Anhand des Zeitstempels der Datei kann man schauen, wann die erzeugt wurde.
:
Bearbeitet durch User
Mal ein paar Zwischenfragen: - hat der RPi eine RTC? - wenn ja, was sagt: date; cat /proc/driver/rtc* - wie oft bootet der RPi neu? - benutzt du irgendwas in der Art hibernate, suspend-to- oder...? - (wie) bekommst du die Zeit aus dem Internet? - evt., wenn's nicht zu lang wird: sudo egrep -i 'cron|ntp' /var/log/syslog | colrm 78 danke!
Moin, - Pete K. schrieb: > Woran erkennst Du denn, dass die jobs zu spät gestartet werden? > > Erstelle mal ein crontab-Eintrag, in dem Du stündlich die Zeit in eine
1 | # For more information see the manual pages of crontab(5) and cron(8)
|
2 | #
|
3 | SHELL=/bin/bash |
4 | PATH=/usr/local/bin:/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin |
5 | |
6 | # m h dom mon dow command
|
7 | * * * * * /usr/bin/date >> /tmp/cron.test |
schreibt jede Minute einen Zeitstempel. Dann weiss man zumindest, wie spaet es auf dem Raspberry ist. Gruesse Th.
Auf meinem RPI funktioniert cron. Meine Konfiguration:
1 | pi@database:~ $ date |
2 | Wed Jun 2 13:49:28 CEST 2021 |
3 | pi@database:~ $ date -u |
4 | Wed Jun 2 11:49:33 UTC 2021 |
5 | pi@database:~ $ echo $TZ |
6 | |
7 | pi@database:~ $ sudo bash |
8 | root@database:/home/pi# date |
9 | Wed Jun 2 13:49:47 CEST 2021 |
10 | root@database:/home/pi# date -u |
11 | Wed Jun 2 11:49:50 UTC 2021 |
12 | root@database:/home/pi# echo $TZ |
13 | |
14 | root@database:/home/pi# exit |
15 | pi@database:~ $ ls -l /etc/localtime |
16 | lrwxrwxrwx 1 root root 33 Mar 22 17:39 /etc/localtime -> /usr/share/zoneinfo/Europe/Berlin |
Wie sieht deine Konfiguration aus? LG, Sebastian
Danke für das Interesse. >>>>> Woran merke ich, dass die Task eine Stunde zu spät läuft? Ich möchte einen stream Mitschnitt um 8:43 machen, der Mitschnitt ist von 9:43. >>>>>> Die Zeile in der crontab * date >> cron.test liefert die richtige Zeit Wed 2 Jun 14:26:01 CEST 2021 >>>>>>>>>>>>> date -u liefert Wed 2 Jun 12:31:47 UTC 2021 >>>> sudo date und sudo date -u , alles richtig echo $TZ liefert die Leerzeile >>> pi@raspberrypi:~ $ ls -l /etc/localtime lrwxrwxrwx 1 root root 33 Jun 1 22:31 /etc/localtime -> /usr/share/zoneinfo/Europe/Berlin >>>>> cat /proc/driver/rtc* cat: '/proc/driver/rtc*': No such file or directory >>>>> - wie oft bootet der RPi neu? - benutzt du irgendwas in der Art hibernate, suspend-to- oder...? Nie. Nein. >>>>> - hat der RPi eine RTC? Nein, Uralt Raspi >>>>> - (wie) bekommst du die Zeit aus dem Internet? Keine Ahnung. Ich weiß nicht ob ntp läuft. Aber die Zeit ist ja korrekt. >>>>>>> - evt., wenn's nicht zu lang wird: sudo egrep -i 'cron|ntp' /var/log/syslog | colrm 78 wird zu lang Die eine Stunde Versatz sprechen dafür dass das was mit der Sommerzeit zum tun hat ?! THX Cheers Detlef
Moin, - vielen Dank. Langsam wird das nicht zu verstehen. Was fuer ein Linux hast Du bei dem RaspPi? bitte mal die kommandos ausfuehren:
1 | cat /etc/debian_version |
2 | uname -a |
Das zeigt Dir die Betriebssystem und Kernel-Version an. Sollte so etwas ausgeben:
1 | pi@raspberry3:~ $ cat /etc/debian_version |
2 | 10.9 |
3 | pi@raspberry3:~ $ uname -a |
4 | Linux raspberry3 5.10.17-v7+ #1403 SMP Mon Feb 22 11:29:51 GMT 2021 armv7l GNU/Linux |
Gruesse Th.
Und zeige mit bitte mal den Inhalt von
1 | /home/pi/rippen/Zeitzeichen.sh |
Gruesse Th.
Detlef _. schrieb: > Woran merke ich, dass die Task eine Stunde zu spät läuft? Ich möchte > einen stream Mitschnitt um 8:43 machen, der Mitschnitt ist von 9:43. Lokal auf einem Medium direkt am Raspi angeschlossen gespeichert, oder über Netz irgendwo anders?
:
Bearbeitet durch User
Hi, >>>>>>>>> pi@raspberrypi:~/rippen $ cat Zeitzeichen.sh #! /bin/bash # fn=`date +%a_%d_%m_%G_%H_%M_zeitzeichen` streamripper http://www.wdr.de/wdrlive/media/wdr5.m3u -l 1220 -a wdr5_$fn -s > /dev/null 2>&1 #pwd >> dlf_$fn.txt lftp -c "set ssl:verify-certificate no; open -u zeitzeichen,zeitzeichen 192.168.178.1; put wdr5_$fn.mp3;" rm -f *.mp3 rm -f ./incomplete/*.mp3 rm -f *.cue exit 0 Das file pumpe ich über ftp auf mein NAS. >>>>>>>>>>>>> bitte mal die kommandos ausfuehren: pi@raspberrypi:~/rippen $ cat /etc/debian_version 10.1 pi@raspberrypi:~/rippen $ uname -a Linux raspberrypi 4.19.75+ #1270 Tue Sep 24 18:38:54 BST 2019 armv6l GNU/Linux THX Cheers Detlef
Stimmt der von dir erzeugte Zeitstempel im Dateinamen mit dem Zeitstempel in den Dateieigenschaften überein? Ich gehe davon aus das du am Inhalt der Datei verifiziert hast das die falsche Stunde aufgezeichnet wurde. Sascha
Detlef _. schrieb: >> - wie oft bootet der RPi neu? > Nie. Dann ist es denkbar, dass die Zeitzone nachträglich geändert wurde. Der cron daemon läuft aber noch mit der ursprünglichen Zeitzone. Solches Verhalten ist völlig normal, Programme lesen die /etc/timezone und /etc/localtime nur einmal kurz nach dem Start. Das stört seltenst, weil niemand freiwillig die Zeitzone ändert. Bei einem Server auf einem Schiff könnte man in Versuchung kommen, aber sonst? Allerdings würde ich normal einen Versatz von 2 Stunden erwarten, aber was ist schon normal. Mit mehrfachen Änderungen schafft man sicher auch 1 Stunde.
Detlef _. schrieb:
der RaspiPi ist zwar zwei Jahre abgelagert, das macht aber nichts (war
auch mehr verzweifelung).
Der streamripper ist ja auch nichts wesentliches (das vielleicht 3600s
gewartet wurden).
Ich habe keinen Tip mehr. Was Du gezeigt eine ganz normale
Raspbian-Installation, ein solchen Problem habe ich bei cron nie gehabt
(cron guckt anfang einer jeden Minute ob ein job zu starten ist. Cron
laeuft in lokal-time, d.h. sommer/Winter-Zeit gekommt er mit). Deine
Zeitzone ist OK.
Ich muss gestehen: Meine Vermutung dass das Problem vor dem Schirm
sitzt, war falsch. Entschuldigung.
Gruesse
Th.
Bauform B. schrieb: > Detlef _. schrieb: >>> - wie oft bootet der RPi neu? >> Nie. > > Dann ist es denkbar, dass die Zeitzone nachträglich geändert wurde. Der > cron daemon läuft aber noch mit der ursprünglichen Zeitzone. Solches Das ist des Rätsels Lösung. Ich hatte die TZ geändert, das hatte der crond nicht mitbekommen. Neu gebootet, Test-crontab aufgesetzt, geht. Wieder was gelernt, Vorsicht mit den Dämonen bei Änderung Systemsettings, die kucken nur beim Start. Vielen Dank allen Beteiligten. Cheers Detlef
Detlef _. schrieb: > Neu gebootet, Test-crontab aufgesetzt, geht. Normalerweise würde man nur den cron neu starten. Andererseits ist grundsätzlich jeder daemon betroffen. Und dann wieder nur diejenigen, die die lokale Zeit brauchen. Ein httpd z.B. muss die korrekte Zeit kennen, aber er benutzt nur GMT. Weil, naja, man will ja auch eine rekordverdächtige uptime zusammenbekommen ;) Edit: danke für die Rückmeldung!
:
Bearbeitet durch User
Detlef _. schrieb: > Bauform B. schrieb: >> Dann ist es denkbar, dass die Zeitzone nachträglich geändert wurde. Der >> cron daemon läuft aber noch mit der ursprünglichen Zeitzone. Solches > > > Das ist des Rätsels Lösung. Ich hatte die TZ geändert, das hatte der > crond nicht mitbekommen. Neu gebootet, Test-crontab aufgesetzt, geht. Haette ich auch nicht gedacht, weil (glaube ich) mein Server zwei Zeitzonenwechsel pro Jahr macht (und nur einmal im Jahr gestartet wird). There is always something to learn. Th.
Thomas W. schrieb: > Haette ich auch nicht gedacht, weil (glaube ich) mein Server zwei > Zeitzonenwechsel pro Jahr macht (und nur einmal im Jahr gestartet wird). Die Umstellung Sommer/Normalzeit hat damit nichts zu tun, die funktioniert auch ohne Neustart. Wenn du echte Zeitzonenwechsel machst: auf einem Schiff? Kontinentalplattenverschiebung? Ein tragbarer Server darf mit in den Urlaub?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.