Cron Job Probleme

Zum System es läuft auf einer Windows Server VM mit Ubuntu Server 22.04
PHP 8.1.8
MariaDB 10.6.7
Nextcloud 24.0.3

Ich hab einen HP Scanner mit dem ich meine Scans nur per FTP auf meine Nextcloud bringen kann daher habe ich einen Ordner SCAN erstellt wo alle reingehen und diesen lasse ich 1 mal in der Minute über Cron Job Prüfen ob neue Daten sind.

Aber seit neuem erkennt er keine neuen Daten daher meine Vermutung das Cron Job was nicht passt.

Cron Datei
*/3 * * * * www-data php -f /var/www/nextcloud/cron.php
*/1 * * * * www-data php -f /var/www/nextcloud/occ files:scan --path=“HBBerghammer/files/SCAN”

Daten haben alle gleichen rechte und Benutzer und Gruppe.

Hat einer eine Idee?
Danke für die Hilfe.

führe den cron Befehl manuell aus und schaue ob es erfolgreich durchläuft und neue Scans findet, wenn ja hast du ein Problem mit dem cronjob sonst macht der Befehl nicht das was du brauchst… eventuell siehst du interaktiv warum der Befehl nicht läuft (man kann occ mit -v verbose starten, dann gibt’s mehr Output)

-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Rennt das alles auf den gleichen Rechner an den auch der Scanner hängt? Oder schickst du es über das Netzwerk?

@ nanu Der Scanner ist ein HP Drucker und baut mit jedem SACN eine eigene FTP Verbindung zu Ubuntu auf.

@wwe wen ich den Befehl mit ssh abschicke macht er den Scan ohne Fehler aber sie erscheinen nicht. auch mit dem Befehl sudo -u www-data php occ files:scan --all

Danke

Das beantwortet nicht meine Frage.
Egal oder der Sanner eine FTP verbindung aufbaut oder nicht. Ich muss Wissen ob das teil an den gleichen PC auf den auch der Server rennt ?
Ja oder Nein…

Kleiner hintergrund… Wenn der scanner zu deiner Windows SERVER (Virtuellem Maschine) in der ein auf Ubuntu Server 22.04 ( Nextcloud) verbindung aufbaut mit FTP aufbaut,könnte der fehler ein ganz anderer sein.

Ich versuche immer die Fragen so einfach wie möglich zu stellen. Damit man die Fehler auf Gruppen eingränzen kann.

Zudem brauchen wir noch einiges an Hintergrund.
Du schreibst:
Zum System es läuft auf einer Windows Server VM mit Ubuntu Server 22.04
PHP 8.1.8
MariaDB 10.6.7
Nextcloud 24.0.3

Netzwerkaufbau???
Interner zugriff? Externer zugriff?
Modem>Router> Raspberry PI?
Modem>Router> Switsh?
Modem>Router> DNS ?
Modem>Router> Raspberry PI Hole usw.

Danke

@Nanu
Nein tut er nicht.

Netzwerk Aufbau:
Internet und DHCP macht die Unifi UDM Pro
Switch 1 hängt an der UDM Pro. Die VM hängt am Switch 1.
Switsh 2 hängt an Switch 1
An Switch 2 Hängt der Drucker (SCANNER) und einige PC´s die auf die NextCloud zugreifen.

Server ist ein Dell R740xd auf dem Windows Server 2022 Läuft.
Mit Windows VM wird der Virtuelle Ubuntu Server 2022.04 bereitgestellt, dieser hat eine eigene NIC Karte wo eine 25g Kabel angeschlossen ist und nur die VM Verwendet.
Zugriff von Extern wird nicht erlaubt, nur Geräte die in dem gleichen VLAN sind.

Danke

Danke für deine darstellung des Netzwerkes.

Hast du per sftp geprüft ob in den Virtuellen Ubuntu Server 22.04 HBBerghammer/files/SCAN Ordner überhaupt daten eingehen?

Bevor wir den cron zerlegen…

Mit freundlichkeit kommt man in der Community irgendwie weiter :wink:
Denn auch der Beste support kommt nicht weiter wenn er den Aufbau eines Systemes nicht kennt…
Wir hatten hier schon sachen die sich über 60 Beiträgen hinziehen weil jemand in seiner überzeugung vergessen hat wichtige Details am Tag zu legen.

@Nanu Danke.

Ja neue Daten gehen ein da ich jeden Tag ca 10 Seiten Scan.
Auch die Verbindung vom PC auf Ubuntu mit FTP geht.

Danke und Grüße

Ok. Wenn dort daten eingehen und du hast das direkt in Ordner überprüft, liegt nahe das es der cronjop ist.

Ich geh mal davon aus das du zugriff auf der console hast…

Starte mal folgende Befehlszeilen:

  1. /etc/init.d/cron restart
  2. sudo systemctl restart php8.1-fpm.service

ohne (zahl punkt) ausführen.

Sollte das oben mit punkt 1 nicht hinhauen dann zuerst stopen und dann wieder neu starten.

systemctl stop cron
systemctl start cron

Zum schluss noch den apache neu starten.

systemctl restart apache2

Danke hab erst die ersten beiden Punkte gemacht dann 30 min gewartet dann die anderen 3 Punkte aber ohne Erfolg.

Hatte auch schon mehrfach die VM mit dem Befehl Reboot neu gestartet oder Herrunter fahren über die VM.

Hab aber jetzt noch den Befehl
systemctl status cron gemacht jetzt kommt aber das hier.

cron.service - Regular background program processing daemon
Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2022-08-02 12:24:58 UTC; 13s ago
Docs: man:cron(8)
Main PID: 185964 (cron)
Tasks: 1 (limit: 5629)
Memory: 496.0K
CPU: 1.859s
CGroup: /system.slice/cron.service
└─185964 /usr/sbin/cron -f -P

Aug 02 12:24:58 nextcloud systemd[1]: Started Regular background program processing daemon.
Aug 02 12:24:58 nextcloud cron[185964]: (CRON) INFO (pidfile fd = 3)
Aug 02 12:24:58 nextcloud cron[185964]: (CRON) INFO (Skipping @reboot jobs – not system startup)
Aug 02 12:25:01 nextcloud CRON[185965]: pam_unix(cron:session): session opened for user www-data(uid=33) by (uid=0)
Aug 02 12:25:01 nextcloud CRON[185966]: (www-data) CMD (php -f /var/www/nextcloud/occ files:scan --path=“HBBerghammer/files/SCAN”)
Aug 02 12:25:06 nextcloud CRON[185965]: pam_unix(cron:session): session closed for user www-data

Ach und was ich gerade noch Sehe die System Zeit ist 2h zurück.

Hi,
das mit der Systemzeit kann mehrere Ursachen haben. Angefangen von der Batterie (Knopfzelle) die in den PC verbaut ist, und verrückte sachen machen kann wie z.b Bios Einstellungen verstellen. Darunter auch die Uhrzeit und Datum. Besonders gern wenn der Rechner 2 jahre alt ist :wink:
Oder der server synchronisiert nicht mit den Timeserver weil eine Firewall das blockiert oder einfach der Dienst nicht automatisch beim start bzw. reboot nicht mit gestartet wird und und und…

Wegen dein Zeitproblem.
Führe mal folgendes aus.
timedatectl set-ntp 1

timedatectl start

Danach wieder abfragen mit

date


Zu deinen cron
So wie es ausschaut ist er Aktiv und startet sie auch zum teil.
Aber es scheint als wäre der cron.php nicht aktiv.

Check das mal mit.

cat /var/log/syslog | grep cron

Dann sollte eine ganze reihe von crons aufgelistet werden. Darunter auch der cron.php

@Nanu
Danke

das ist die Meldung
Aug 5 04:17:01 nextcloud CRON[244223]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)

Aug 5 04:18:01 nextcloud CRON[244236]: (www-data) CMD (php -f /var/www/nextcloud/cron.php)

Aug 5 04:21:01 nextcloud CRON[244271]: (www-data) CMD (php -f /var/www/nextcloud/cron.php)

Aug 5 04:24:01 nextcloud CRON[244304]: (www-data) CMD (php -f /var/www/nextcloud/cron.php)

Langsam bin ich kurz davor kurz alles neu zu machen.

Schaut so aus als würde er dein cron nicht starten.
Ich trau mich fast nicht zu fragen aber hast du beim Anlegen des cron den Benutzer mit angegeben?

In deiner cron datei kann alle drin stehen ob er das nu ausführt ist eine andere sache :wink:
Also liste mal die crons auf die auf dein Benutzer rennen…
crontab -l
und mit
crontab -l -u www-data

muss er die crons auflisten die unter diesen benutzer (www-data) rennen.
Wenn das nicht der fall ist dann ist der cron unter den falschen Benutzer angelegt :wink:

Also dann mit
sudo crontab -e -u www-data
den cron neu anlegen.

Und dann den ganzen Spaß wieder neu starten :slight_smile:
systemctl restart cron

Viel Erfolg