Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Off Topic
  4. Crontabs unter (Debian) Bookworm funkionieren oft nicht

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.3k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Crontabs unter (Debian) Bookworm funkionieren oft nicht

Geplant Angeheftet Gesperrt Verschoben Off Topic
bookwormcrontabmta
18 Beiträge 3 Kommentatoren 2.2k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • R Rushmed

    Hallo,

    habe meinen Pi kürzlich mit der Anleitung hier aus dem Forum auf Bokkworm gebracht.
    Seit dem werden Crontabs (crontab -e) oft nicht ausgeführt.
    Hier der Log aus var/log/cron.log:

    2023-07-18T17:05:01.849969+02:00 Smartazamba CRON[1177871]: (pi) CMD (curl http://localhost:8087/set/0_userdata.0.Eigene_Datenpunkte.CRONTEST?value=$(date +)
    2023-07-18T17:05:01.853392+02:00 Smartazamba CRON[1177870]: (CRON) info (No MTA installed, discarding output)
    

    Die Aufgabe wurde wieder nicht ausgeführt. Was bedeutet die zweite Zeile?
    Über Putty direkt funktioniert der Befehl.
    Das sudo habe ich nur zum Probieren hinzugefügt, funktioniert weder mit noch ohne.

    BananaJoeB Online
    BananaJoeB Online
    BananaJoe
    Most Active
    schrieb am zuletzt editiert von
    #5

    @rushmed ab Werk versucht crontab mögliche Ausgaben von Cronjobs dem root / dem eingestellten Benutzer per Mail zu senden.
    MTA = Mail Transport Agent - und da ist keiner bei dir Installiert, z.B. Postfix

    Alternativ sorgst du dafür das deine Cronjobzeile keinerlei Ausgaben produziert. Entweder lassen die Befehle das per Parameter zu (viele haben einen Cron-Modus der nur bei Fehlern was melden würde) oder du hängst das folgende an das Ende der Zeile:

    > /dev/null 2>&1
    

    leitet die Ausgabe um in das Gerät /dev/null - das landet dort im Nirwana.
    2>&1 bündelt den Fehlerkanal mit in den Standardkanal und sorgt so dafür das auch Fehlermeldungen dort landen wo die Standausgabe landet, hier also im Nirwana.

    ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

    R 1 Antwort Letzte Antwort
    0
    • BananaJoeB BananaJoe

      @rushmed ab Werk versucht crontab mögliche Ausgaben von Cronjobs dem root / dem eingestellten Benutzer per Mail zu senden.
      MTA = Mail Transport Agent - und da ist keiner bei dir Installiert, z.B. Postfix

      Alternativ sorgst du dafür das deine Cronjobzeile keinerlei Ausgaben produziert. Entweder lassen die Befehle das per Parameter zu (viele haben einen Cron-Modus der nur bei Fehlern was melden würde) oder du hängst das folgende an das Ende der Zeile:

      > /dev/null 2>&1
      

      leitet die Ausgabe um in das Gerät /dev/null - das landet dort im Nirwana.
      2>&1 bündelt den Fehlerkanal mit in den Standardkanal und sorgt so dafür das auch Fehlermeldungen dort landen wo die Standausgabe landet, hier also im Nirwana.

      R Offline
      R Offline
      Rushmed
      Most Active
      schrieb am zuletzt editiert von Rushmed
      #6

      @bananajoe Ok, hab ich angefügt. in der Bash (sorry @Thomas-Braun) funktioniert der Befehl.
      Der Cronjob wird nicht ausgeführt.
      Habs jetzt zweimal probiert:

      2023-07-18T23:56:01.151180+02:00 Smartazamba cron[434]: (pi) RELOAD (crontabs/pi)
      2023-07-18T23:56:01.161910+02:00 Smartazamba CRON[1492491]: (pi) CMD (curl http://localhost:8087/set/0_userdata.0.Eigene_Datenpunkte.CRONTEST?value=$(date +)
      2023-07-18T23:56:01.166106+02:00 Smartazamba CRON[1492490]: (CRON) info (No MTA installed, discarding output)
      2023-07-18T23:56:09.395488+02:00 Smartazamba crontab[1492797]: (pi) BEGIN EDIT (pi)
      2023-07-18T23:57:08.867375+02:00 Smartazamba crontab[1492797]: (pi) END EDIT (pi)
      2023-07-18T23:57:51.066003+02:00 Smartazamba crontab[1493833]: (pi) BEGIN EDIT (pi)
      2023-07-18T23:58:32.772669+02:00 Smartazamba crontab[1493833]: (pi) REPLACE (pi)
      2023-07-18T23:58:32.773610+02:00 Smartazamba crontab[1493833]: (pi) END EDIT (pi)
      2023-07-18T23:59:01.171043+02:00 Smartazamba cron[434]: (pi) RELOAD (crontabs/pi)
      2023-07-18T23:59:01.183674+02:00 Smartazamba CRON[1494907]: (pi) CMD (curl http://localhost:8087/set/0_userdata.0.Eigene_Datenpunkte.CRONTEST?value=$(date +)
      2023-07-18T23:59:01.190303+02:00 Smartazamba CRON[1494906]: (CRON) info (No MTA installed, discarding output)
      

      Die Meldung kommt dennoch aber die ist mir ja egal. Mir ist ertmal wichtig dass die Jobs laufen.

      Der letzte crontab -e Eintrag sieht so aus:

      #CRONTEST
      59 5,11,17,23 * * * curl http://localhost:8087/set/0_userdata.0.Eigene_Datenpunkte.CRONTEST?value=$(date +%d.%b.%y_%H:%M) > /dev/null 2>&1
      
      
      
      BananaJoeB 1 Antwort Letzte Antwort
      0
      • R Rushmed

        @bananajoe Ok, hab ich angefügt. in der Bash (sorry @Thomas-Braun) funktioniert der Befehl.
        Der Cronjob wird nicht ausgeführt.
        Habs jetzt zweimal probiert:

        2023-07-18T23:56:01.151180+02:00 Smartazamba cron[434]: (pi) RELOAD (crontabs/pi)
        2023-07-18T23:56:01.161910+02:00 Smartazamba CRON[1492491]: (pi) CMD (curl http://localhost:8087/set/0_userdata.0.Eigene_Datenpunkte.CRONTEST?value=$(date +)
        2023-07-18T23:56:01.166106+02:00 Smartazamba CRON[1492490]: (CRON) info (No MTA installed, discarding output)
        2023-07-18T23:56:09.395488+02:00 Smartazamba crontab[1492797]: (pi) BEGIN EDIT (pi)
        2023-07-18T23:57:08.867375+02:00 Smartazamba crontab[1492797]: (pi) END EDIT (pi)
        2023-07-18T23:57:51.066003+02:00 Smartazamba crontab[1493833]: (pi) BEGIN EDIT (pi)
        2023-07-18T23:58:32.772669+02:00 Smartazamba crontab[1493833]: (pi) REPLACE (pi)
        2023-07-18T23:58:32.773610+02:00 Smartazamba crontab[1493833]: (pi) END EDIT (pi)
        2023-07-18T23:59:01.171043+02:00 Smartazamba cron[434]: (pi) RELOAD (crontabs/pi)
        2023-07-18T23:59:01.183674+02:00 Smartazamba CRON[1494907]: (pi) CMD (curl http://localhost:8087/set/0_userdata.0.Eigene_Datenpunkte.CRONTEST?value=$(date +)
        2023-07-18T23:59:01.190303+02:00 Smartazamba CRON[1494906]: (CRON) info (No MTA installed, discarding output)
        

        Die Meldung kommt dennoch aber die ist mir ja egal. Mir ist ertmal wichtig dass die Jobs laufen.

        Der letzte crontab -e Eintrag sieht so aus:

        #CRONTEST
        59 5,11,17,23 * * * curl http://localhost:8087/set/0_userdata.0.Eigene_Datenpunkte.CRONTEST?value=$(date +%d.%b.%y_%H:%M) > /dev/null 2>&1
        
        
        
        BananaJoeB Online
        BananaJoeB Online
        BananaJoe
        Most Active
        schrieb am zuletzt editiert von BananaJoe
        #7

        @rushmed poste hier mal die ganze Zeile aus dem Crontab

        sieht richtig aus. was passiert in der Bash wenn du das anhängst? hat curl nicht so einen Fortschrittbalken?
        Versuch mal

        curl --silent unddanndeinebefehle
        

        ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

        R 2 Antworten Letzte Antwort
        0
        • BananaJoeB BananaJoe

          @rushmed poste hier mal die ganze Zeile aus dem Crontab

          sieht richtig aus. was passiert in der Bash wenn du das anhängst? hat curl nicht so einen Fortschrittbalken?
          Versuch mal

          curl --silent unddanndeinebefehle
          
          R Offline
          R Offline
          Rushmed
          Most Active
          schrieb am zuletzt editiert von
          #8

          @bananajoe Ist oben nachgereicht.

          1 Antwort Letzte Antwort
          0
          • BananaJoeB BananaJoe

            @rushmed poste hier mal die ganze Zeile aus dem Crontab

            sieht richtig aus. was passiert in der Bash wenn du das anhängst? hat curl nicht so einen Fortschrittbalken?
            Versuch mal

            curl --silent unddanndeinebefehle
            
            R Offline
            R Offline
            Rushmed
            Most Active
            schrieb am zuletzt editiert von Rushmed
            #9

            @bananajoe sagte in Crontabs unter (Debian) Bookworm funkionieren oft nicht:

            @rushmed poste hier mal die ganze Zeile aus dem Crontab

            sieht richtig aus. was passiert in der Bash wenn du das anhängst? hat curl nicht so einen Fortschrittbalken?
            Versuch mal

            curl --silent unddanndeinebefehle
            

            Wird korrekt ausgeführt.

            Hier noch zur Info:

            pi@Smartazamba:~ $ systemctl status cron.service
            ● cron.service - Regular background program processing daemon
                 Loaded: loaded (/lib/systemd/system/cron.service; enabled; preset: enabled)
                 Active: active (running) since Mon 2023-07-17 16:39:45 CEST; 1 day 7h ago
                   Docs: man:cron(8)
               Main PID: 434 (cron)
                  Tasks: 1 (limit: 8754)
                    CPU: 1.260s
                 CGroup: /system.slice/cron.service
                         └─434 /usr/sbin/cron -f
            
            Jul 18 23:56:01 Smartazamba cron[434]: (pi) RELOAD (crontabs/pi)
            Jul 18 23:56:01 Smartazamba CRON[1492490]: pam_unix(cron:session): session opened for user pi(uid=1000) by (uid=0)
            Jul 18 23:56:01 Smartazamba CRON[1492491]: (pi) CMD (curl http://localhost:8087/set/0_userdata.0.Eigene_Datenpunkte.CRONTEST?value=$(date +)
            Jul 18 23:56:01 Smartazamba CRON[1492490]: (CRON) info (No MTA installed, discarding output)
            Jul 18 23:56:01 Smartazamba CRON[1492490]: pam_unix(cron:session): session closed for user pi
            Jul 18 23:59:01 Smartazamba cron[434]: (pi) RELOAD (crontabs/pi)
            Jul 18 23:59:01 Smartazamba CRON[1494906]: pam_unix(cron:session): session opened for user pi(uid=1000) by (uid=0)
            Jul 18 23:59:01 Smartazamba CRON[1494907]: (pi) CMD (curl http://localhost:8087/set/0_userdata.0.Eigene_Datenpunkte.CRONTEST?value=$(date +)
            Jul 18 23:59:01 Smartazamba CRON[1494906]: (CRON) info (No MTA installed, discarding output)
            Jul 18 23:59:01 Smartazamba CRON[1494906]: pam_unix(cron:session): session closed for user pi
            
            
            BananaJoeB 1 Antwort Letzte Antwort
            0
            • R Rushmed

              @bananajoe sagte in Crontabs unter (Debian) Bookworm funkionieren oft nicht:

              @rushmed poste hier mal die ganze Zeile aus dem Crontab

              sieht richtig aus. was passiert in der Bash wenn du das anhängst? hat curl nicht so einen Fortschrittbalken?
              Versuch mal

              curl --silent unddanndeinebefehle
              

              Wird korrekt ausgeführt.

              Hier noch zur Info:

              pi@Smartazamba:~ $ systemctl status cron.service
              ● cron.service - Regular background program processing daemon
                   Loaded: loaded (/lib/systemd/system/cron.service; enabled; preset: enabled)
                   Active: active (running) since Mon 2023-07-17 16:39:45 CEST; 1 day 7h ago
                     Docs: man:cron(8)
                 Main PID: 434 (cron)
                    Tasks: 1 (limit: 8754)
                      CPU: 1.260s
                   CGroup: /system.slice/cron.service
                           └─434 /usr/sbin/cron -f
              
              Jul 18 23:56:01 Smartazamba cron[434]: (pi) RELOAD (crontabs/pi)
              Jul 18 23:56:01 Smartazamba CRON[1492490]: pam_unix(cron:session): session opened for user pi(uid=1000) by (uid=0)
              Jul 18 23:56:01 Smartazamba CRON[1492491]: (pi) CMD (curl http://localhost:8087/set/0_userdata.0.Eigene_Datenpunkte.CRONTEST?value=$(date +)
              Jul 18 23:56:01 Smartazamba CRON[1492490]: (CRON) info (No MTA installed, discarding output)
              Jul 18 23:56:01 Smartazamba CRON[1492490]: pam_unix(cron:session): session closed for user pi
              Jul 18 23:59:01 Smartazamba cron[434]: (pi) RELOAD (crontabs/pi)
              Jul 18 23:59:01 Smartazamba CRON[1494906]: pam_unix(cron:session): session opened for user pi(uid=1000) by (uid=0)
              Jul 18 23:59:01 Smartazamba CRON[1494907]: (pi) CMD (curl http://localhost:8087/set/0_userdata.0.Eigene_Datenpunkte.CRONTEST?value=$(date +)
              Jul 18 23:59:01 Smartazamba CRON[1494906]: (CRON) info (No MTA installed, discarding output)
              Jul 18 23:59:01 Smartazamba CRON[1494906]: pam_unix(cron:session): session closed for user pi
              
              
              BananaJoeB Online
              BananaJoeB Online
              BananaJoe
              Most Active
              schrieb am zuletzt editiert von
              #10

              @rushmed sagte in Crontabs unter (Debian) Bookworm funkionieren oft nicht:

              systemctl status cron.service

              ich glaub die Meldung kommt immer weil im System kein MTA konfiguriert ist. hat nichts mit den aktuellen Eintrag in der Crontab zu tun
              Ich habe einen konfiguriert und setze obiges ein um Mails zu unterdrücken (geht auf mehreren Wegen, das ist einer davon)

              ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

              R 1 Antwort Letzte Antwort
              0
              • BananaJoeB BananaJoe

                @rushmed sagte in Crontabs unter (Debian) Bookworm funkionieren oft nicht:

                systemctl status cron.service

                ich glaub die Meldung kommt immer weil im System kein MTA konfiguriert ist. hat nichts mit den aktuellen Eintrag in der Crontab zu tun
                Ich habe einen konfiguriert und setze obiges ein um Mails zu unterdrücken (geht auf mehreren Wegen, das ist einer davon)

                R Offline
                R Offline
                Rushmed
                Most Active
                schrieb am zuletzt editiert von
                #11

                @bananajoe Hast du Bookworm drauf und funktionieren deine zeitgesteuerten Jobs?

                BananaJoeB Thomas BraunT 2 Antworten Letzte Antwort
                0
                • R Rushmed

                  @bananajoe Hast du Bookworm drauf und funktionieren deine zeitgesteuerten Jobs?

                  BananaJoeB Online
                  BananaJoeB Online
                  BananaJoe
                  Most Active
                  schrieb am zuletzt editiert von
                  #12

                  @rushmed sagte in Crontabs unter (Debian) Bookworm funkionieren oft nicht:

                  @bananajoe Hast du Bookworm drauf und funktionieren deine zeitgesteuerten Jobs?

                  Nein, ich bin bei Ubuntu Jammy und ja bei mir funktioniert alles.
                  Im Zweifel sind es zu viele Sonderzeichen. Dann packe das was du ausführen willst in ein Skript und starte dieses über den cronjob

                  ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                  1 Antwort Letzte Antwort
                  0
                  • R Rushmed

                    @bananajoe Hast du Bookworm drauf und funktionieren deine zeitgesteuerten Jobs?

                    Thomas BraunT Online
                    Thomas BraunT Online
                    Thomas Braun
                    Most Active
                    schrieb am zuletzt editiert von Thomas Braun
                    #13

                    @rushmed

                    Ich würde auch keine direkten Kommandos da reinschreiben sondern auf entsprechende Skripte verlinken. Lässt sich besser handhaben.

                    Edith: @BananaJoe war schneller mit dem Skript...

                    Linux-Werkzeugkasten:
                    https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                    NodeJS Fixer Skript:
                    https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                    iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                    1 Antwort Letzte Antwort
                    0
                    • R Offline
                      R Offline
                      Rushmed
                      Most Active
                      schrieb am zuletzt editiert von
                      #14

                      Das ist nur ein Testbefehl. Eigentlich geht es mir um Scrips.
                      Kann dashier https://forums.debian.net/viewtopic.php?t=153153 etwas mit meinem Problem zu tun haben?

                      pi@Smartazamba:~ systemctl status anacronon
                      Unit anacron.service could not be found.
                      
                      Thomas BraunT 1 Antwort Letzte Antwort
                      0
                      • R Rushmed

                        Das ist nur ein Testbefehl. Eigentlich geht es mir um Scrips.
                        Kann dashier https://forums.debian.net/viewtopic.php?t=153153 etwas mit meinem Problem zu tun haben?

                        pi@Smartazamba:~ systemctl status anacronon
                        Unit anacron.service could not be found.
                        
                        Thomas BraunT Online
                        Thomas BraunT Online
                        Thomas Braun
                        Most Active
                        schrieb am zuletzt editiert von
                        #15

                        @rushmed
                        Möglich. Installier es nach.

                        Linux-Werkzeugkasten:
                        https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                        NodeJS Fixer Skript:
                        https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                        iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                        R 1 Antwort Letzte Antwort
                        0
                        • Thomas BraunT Thomas Braun

                          @rushmed
                          Möglich. Installier es nach.

                          R Offline
                          R Offline
                          Rushmed
                          Most Active
                          schrieb am zuletzt editiert von
                          #16

                          @thomas-braun Hat nicht geholfen. :disappointed_relieved:

                          Thomas BraunT 1 Antwort Letzte Antwort
                          0
                          • R Rushmed

                            @thomas-braun Hat nicht geholfen. :disappointed_relieved:

                            Thomas BraunT Online
                            Thomas BraunT Online
                            Thomas Braun
                            Most Active
                            schrieb am zuletzt editiert von
                            #17

                            @rushmed

                            Hast du ein Skript angelegt und cronst das?

                            Linux-Werkzeugkasten:
                            https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                            NodeJS Fixer Skript:
                            https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                            iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                            R 1 Antwort Letzte Antwort
                            0
                            • Thomas BraunT Thomas Braun

                              @rushmed

                              Hast du ein Skript angelegt und cronst das?

                              R Offline
                              R Offline
                              Rushmed
                              Most Active
                              schrieb am zuletzt editiert von
                              #18

                              @thomas-braun Ja, zwei. Die Scripte lassen sich auch über die Bash ausführen. Die Bearbeitung dauert aber ca. 20 Minuten. Deswegen veruch' ich das Troubleshooting mit einem einfachen Befehl. Im Cron.log steht ja auch dass die Befehle ausgeführt wurden, allerdings passiert nichts.

                              1 Antwort Letzte Antwort
                              0
                              Antworten
                              • In einem neuen Thema antworten
                              Anmelden zum Antworten
                              • Älteste zuerst
                              • Neuste zuerst
                              • Meiste Stimmen


                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              730

                              Online

                              32.5k

                              Benutzer

                              81.7k

                              Themen

                              1.3m

                              Beiträge
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                              ioBroker Community 2014-2025
                              logo
                              • Anmelden

                              • Du hast noch kein Konto? Registrieren

                              • Anmelden oder registrieren, um zu suchen
                              • Erster Beitrag
                                Letzter Beitrag
                              0
                              • Home
                              • Aktuell
                              • Tags
                              • Ungelesen 0
                              • Kategorien
                              • Unreplied
                              • Beliebt
                              • GitHub
                              • Docu
                              • Hilfe