Welcome, Guest. Please login or register.
Did you miss your activation email?

Author Topic: Cron-Job installieren  (Read 372 times)

Offline tomsiduction

  • User
  • Posts: 194
Cron-Job installieren
« on: 2021/11/24, 15:27:45 »
Hallo

Ich habe bitte eine Frage an die Wissenden.

Ich will folgenden Cron-Job installieren:

cp /etc/lo.dnsmasq /etc/resolvconf/run/interface/lo.dnsmasq

Ich habe in /etc/crontab folgendes eingetragen:

0**** root cp /etc/lo.dnsmasq /etc/resolvconf/run/interface/lo.dnsmasq

daneben habe ich auch noch ein- auf der Kommandozeile funktioniernde - *.sh Datei erstellt
und deshalb zusätzlich in crontab eingetragen.

0**** root /etc/cron.hourly/internet.sh

Aber es funktioniert nicht

Was mache ich falsch?

Vielen Dank


« Last Edit: 2021/11/24, 16:25:48 by tomsiduction »

Offline Balou

  • User
  • Posts: 27
Re: Cron-Job installieren
« Reply #1 on: 2021/11/24, 18:07:06 »
Hi

Code: [Select]
30 19 * * * /bin/bash --login /pfad/pfad/Script.sh
Event. so . Wenn dein Script im Terminal läuft. Habe irgendwo im Hinterkopf das es einen Unterschied gibt ob du
im Terminal oder per Cron das Script startest.

Balou

Offline Geier0815

  • User
  • Posts: 544
Re: Cron-Job installieren
« Reply #2 on: 2021/11/24, 20:45:20 »
Evtl. liege ich ja falsch aber cron bzw crontab hat keine eigenen Umgebungsvariablen und damit auch keine Standardpfade, dh Du müßtest eigentlich immer den vollen Pfad zu einem Befehl angeben, also nicht "cp" sondern "/bin/cp"

Aber ob das immer noch so ist? Und ob das ursächlich für deine Probleme ist? Keine Ahnung, im Zweifel probieren.
Wenn Windows die Lösung ist...
kann ich dann bitte das Problem zurück haben?

Offline unklarer

  • User
  • Posts: 643

Offline tomsiduction

  • User
  • Posts: 194
Re: Cron-Job installieren
« Reply #4 on: 2021/11/25, 19:55:13 »
Vielen Dank an alle

@ Geier0815    Ich habe den vollen Pfad angegeben - ohne greifbares Ergebnis
@ Balu            Ich habe "/bin/bash --login" vorangestellt - ohne greifbares Ergebnis
@ unklarer       Vielen Dank für den Tipp - ich habe leider nichts zu meinem Problem   
                      gefunden.

Nochmals besten Dank an Alle

 

Offline Balou

  • User
  • Posts: 27
Re: Cron-Job installieren
« Reply #5 on: 2021/11/25, 20:25:14 »
Hi

Gibt es keine Fehlermeldung im Log?

Mit /usr/bin/cp geht es bei mir jedenfalls.

Balou

Offline tomsiduction

  • User
  • Posts: 194
Re: Cron-Job installieren
« Reply #6 on: 2021/11/25, 21:13:00 »
Hallo und vielen Dank

Auch /usr/bin/cp führt nicht zum Erfolg.

journalctl -k zeigt keinen Fehler.
Oder schaue ich im verkehrten log-file?

Ein /var/log/cron.log existiert bei mir nicht.

Vielen Dank
« Last Edit: 2021/11/25, 21:16:38 by tomsiduction »

Offline Balou

  • User
  • Posts: 27
Re: Cron-Job installieren
« Reply #7 on: 2021/11/25, 22:13:14 »
Hi

Code: [Select]
journalctl --since yesterday -u cron.service
Balou

Offline Geier0815

  • User
  • Posts: 544
Re: Cron-Job installieren
« Reply #8 on: 2021/11/26, 08:38:19 »
Wichtig ist erst einmal ins journal zu gucken.

Meine Vermutung ist in die Richtung gehend, dass die crontab in deinem ersten Fall die Optionen durch das Leerzeichen nicht cp zuordnet und deshalb damit nichts anfangen kann. Versuch bitte mal den gesamten cp-Befehl zu "escapen" indem Du die Optionen in doppelte Anführungszeichen setzt
Code: [Select]
cp "/XXX/bla /YYY/bla"
Ansonsten für deinen zweiten Fall (script per cron), nimm den Aufruf innerhalb der crontab raus. Wenn das script unterhalb von cron.daily (hourly) oder wie auch immer liegt, wird es ausgeführt wenn cron.daily (hourly) durch cron aufgerufen wird. Den Zeitpunkt siehst  Du in der crontab. Achte darauf das das script ein ausführbares bash(zsh,whatever-sh)-script ist, also das der shebang drin ist und alle Befehle etc mit vollständigem Pfad aufgerufen werden.
Für die Pfade zu den Befehlen kannst Du (noch) den which-Befehl verwenden und den zusätzliche Hinweis erst einmal ignorieren
Code: [Select]
which cp
/usr/bin/which: this version of `which' is deprecated; use `command -v' in scripts instead.
/bin/cp
in meinem Fall würde ich also /bin/cp verwenden.
« Last Edit: 2021/11/26, 08:49:30 by Geier0815 »
Wenn Windows die Lösung ist...
kann ich dann bitte das Problem zurück haben?

Offline tomsiduction

  • User
  • Posts: 194
Re: Cron-Job installieren
« Reply #9 on: 2021/11/26, 14:10:21 »
Hallo und vielen Dank

Mein Befehl in der /etc/crontab sieht nun wie folgt aus:

0**** root /bin/cp "/etc/lo.dnsmasq /etc/resolvconf/run/interface/lo.dnsmasq"

Leider geht es noch nicht.

Vielen Dank

Offline Balou

  • User
  • Posts: 27
Re: Cron-Job installieren
« Reply #10 on: 2021/11/26, 14:56:09 »
@tomsuduction

Du bist dir sicher das Cron auch läuft?

Code: [Select]
systemctl status cron
Du postet deinen Eintrag nicht im Codeblock. Hast du zwischen 0 und den * eine Leerstelle?

Code: [Select]
0****oder
Code: [Select]
0 * * * *
Ich meine die Schreibweise mit Leerzeichen ist richtig

Balou

Offline hsp

  • User
  • Posts: 560
Re: Cron-Job installieren
« Reply #11 on: 2021/11/26, 15:09:55 »
Cronjob-scripte dürfen kein Suffix haben! Sonst ignore...


...

Offline tomsiduction

  • User
  • Posts: 194
Re: Cron-Job installieren
« Reply #12 on: 2021/11/26, 15:13:00 »
Hallo und vielen Dank

Meine unveränderte crontab zeigt
Code: [Select]
cron.service - Regular background program processing daemon
     Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2021-11-25 17:35:50 CET; 21h ago
       Docs: man:cron(8)
   Main PID: 710 (cron)
      Tasks: 1 (limit: 9365)
     Memory: 676.0K
        CPU: 424ms
     CGroup: /system.slice/cron.service
             └─710 /usr/sbin/cron -f


Nov 26 14:21:01 siduction cron[710]: (*system*) RELOAD (/etc/crontab)
Nov 26 14:21:01 siduction cron[710]: Error: bad hour; while reading /etc/crontab
Nov 26 14:21:01 siduction cron[710]: (*system*) ERROR (Syntax error, this crontab file will be ignored)


Wie gesagt, die unveränderte Crontab-Datei zeigt diesen Fehler

Code: [Select]
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed
17 * * * * root    cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#






Wo sitzt der Fehler?

Vielen Dank

Offline Balou

  • User
  • Posts: 27
Re: Cron-Job installieren
« Reply #13 on: 2021/11/26, 15:47:44 »
Ich habe mir deine crontab kopiert und bei mir in meine crontab geschrieben.
Keine probleme.

Ich würde mal die Einträge auskommentieren mit #
Weiß jetzt auch nicht an welcher Stelle es noch klemmt.

Balou

Offline Geier0815

  • User
  • Posts: 544
Re: Cron-Job installieren
« Reply #14 on: 2021/11/26, 16:32:10 »
@Balou,
Ich nehme an das die Fehlermeldung noch aus der Zeit stammt als der Eintrag zum Kopieren drin war.

@tomsiduction,
Du hast die Frage noch nicht beantwortet: Waren bei deiner Zeile zwischen den Sternen Leerzeichen oder nicht?
Wenn Windows die Lösung ist...
kann ich dann bitte das Problem zurück haben?