Gelöst: Cron Meldung symfony: Command "preview:pre-generate" is not defined

Hallo User,
seit dem Update auf NC 24.0.1.1 erhalte ich tÀglich von Cron eine Mail mit dem folgenden Inhalt (wiederholt sich 3 x in der Mail):

In Application.php line 676:
                                                                  
  [Symfony\Component\Console\Exception\CommandNotFoundException]  
  Command "preview:pre-generate" is not defined.                  
                                                                  
  Did you mean one of these?                                      
      notification:generate                                       
      preview:repair                                              
      preview:reset-rendered-texts                                
                                                                  

Exception trace:
  at /var/www/nextcloud/3rdparty/symfony/console/Application.php:676
 Symfony\Component\Console\Application->find() at /var/www/nextcloud/3rdparty/symfony/console/Application.php:237
 Symfony\Component\Console\Application->doRun() at /var/www/nextcloud/3rdparty/symfony/console/Application.php:149
 Symfony\Component\Console\Application->run() at /var/www/nextcloud/lib/private/Console/Application.php:211
 OC\Console\Application->run() at /var/www/nextcloud/console.php:99
 require_once() at /var/www/nextcloud/occ:11

Nach meinen Recherchen gibt es wohl viele Anfragen zu “symfony”, alle aber unterschiedlichen Inhaltes. Was ist eigentlich “Symfony”? Ich finde dazu nichts konkretes.

Das System lĂ€uft im Moment ohne EinschrĂ€nkungen. Im Webinterface wird mir noch angezeigt, dass der port check 80 und 443 auf closed steht. Was auch immer dies bedeutet, der externe Zugriff ĂŒber die Domain oder feste IP funktioniert. Zu Symfony findet man auch EintrĂ€ge im Forum in Bezug auf namespace. Sollten diese zwei Punkte (symfony und portcheck) zusammenhĂ€ngen?

Hat jemand von Euch eine Idee oder mehr Informationen zur Ursache oder Behebung?

Thomas

Ich bin schon etwas weiter gekommen. Die Meldung bezieht sich auf die App “Preview Generator”, welche die Vorschauicons generiert. Mit dem Update auf die Version 24.x.x.x wurde diese App deaktiviert, da diese fĂŒr Version 24 nicht freigegeben ist. In der Liste der Apps steht diese dann mit den Optionen “Entfernen” und “Ungetestete App aktivieren”.

Gestern habe ich die App entfernt und hoffte die Lösung gefunden zu haben. Leider nicht! WĂ€hrend der Entfernung kam ein Fehler, dass wohl ein Verzeichnis nicht gelöscht werden könne. Heute war auch von Cron die Mail neu eingetroffen. Interessanterweise sehe ich die App “Preview Generator” heute wieder in der Liste, als ob das Entfernen gestern nicht stattgefunden hat.

Was kann ich machen?

Wieder entfernen, ggf. manuell oder doch aktivieren?

Was meint Ihr?

Thomas

Habe nur ich diesen Effekt?

Hey @dtb

du könntest den Cronjob anpassen und die Generierung deaktivieren (irgendwo muss du den Befehl preview:pre-generate eingetragen haben)

GrundsÀtzlich ist es aber so, dass es durchaus eine kompatible NC24 Version gibt: previewgenerator/CHANGELOG.md at main · nextcloud/previewgenerator · GitHub vielleicht schaust du mal, was du installiert hast?

Hallo @SysKeeper,

danke fĂŒr Deine Antwort. In Github liegt die Version 5.0.0. Anbei mal 2 Bilder von meiner Version. Einmal steht 99.99.99 und auf der anderen Registerkarte “Liste der VerĂ€nderungen” dann 5.0.0.

Mir bleibt aber nur die Aktivierung (obwohl fĂŒr NC24 nicht freigegeben) oder die Entfernung, was ich schon 2 x versucht habe. In der Liste der Apps ist der Eintrag nach der Entfernung weg, spĂ€ter aber wieder da.

Thomas

pg2
pg1

LĂ€uft deine Nextcloud Installation ĂŒber Nextcloud Pi? Ich habe mal nach der Version gesucht (ist mir so bisher nicht untergekommen), dabei bin ich auf folgendes gestoßen: Nextcloud 22 Support · Issue #1299 · nextcloud/nextcloudpi · GitHub

Ansonsten kannst du dir mit

crontab -l -u www-data

mal ausgeben lassen, welche Cronjobs fĂŒr www-user vorhanden sind, sofern das der User des Webservers bei dir ist. Vermutlich steht da etwas in die Richtung:

*/30  *  *  *  * php8.1 -f /var/www/nextcloud/occ preview:pre-generate

drin ?!

Ist dein grundsÀtzliches Ziel denn den PreviewGenerator wieder zu nutzen, oder die Meldung (und damit die App) zu deaktivieren?

Hallo @SysKeeper,

der Aufruf von crontab ergibt:

*/5 * * * * php -f /var/www/nextcloud/cron.php

Ich habe in der cron.php, console.php und unter 3rdparty/symfony/console/application.php nach
preview suchen lassen, ohne Erfolg. Mein Wunsch ist es ein sauberes und fehlerfreies System am Laufen zu haben. Warum diese App vor 24.x.x.x on Board war, kann ich Dir auch nicht mehr sagen. Aktuell scheint mir diese nicht zu fehlen. Also wÀre ich geneigt zu sagen, ich möchte die App aus dem System haben.

Thomas

Also der Befehl preview:pre-generate gehört definitv zur previewgenerator app (siehe hier). Da du die App deaktiviert hast bzw. aufgrund der Version aktuell nicht bei dir lĂ€uft, kommt es zu dem Fehler den du gepostet hast, wenn man versucht den Befehl auszufĂŒhren.

Bleibt also die Frage, wo der Befehl ausgefĂŒhrt wird. Hast du Cronjobs fĂŒr andere Benutzer angelegt? (ggf. mal unter /var/spool/cron/crontabs/ schauen).
Noch mal wegen der Installation, ist das NextcloudPi?

Sorry, ja, NexcloudPi seit ca. 2 Jahren. Im Verzeichnis 
/crontabs/ steht nur ein Job www-data.

Der “Previw Generatror” wird nun wieder in der App Liste angezeigt als deaktiviert. Woher bekommt die NC diese Info und ev. kann man auch manuell diese App entfernen.

Im Protokoll habe noch die Fehlermeldung gefunden:

rmdir(/var/www/nextcloud/apps/previewgenerator): Not a directory at /var/www/nextcloud/lib/private/legacy/OC_Helper.php#183

Das Verzeichnis 
/private existiert aber nicht und 
/apps/previewgenerator ist leer. Den Befehl rmdir sollte doch auch das Verzeichnis previewgenerator löschen und nicht nur leeren?

Da liefert NextcloudPi eine eigene Version des PreviewGenerators aus, daher auch die Version 99.99.99 (siehe Link oben im Beitrag).

Es nĂŒtzt dir nichts, wenn die App nicht mehr da ist. Die Fehlermeldung im ersten Beitrag besagt, dass der Befehl nicht gefunden wurde, d.h. der Befehl wird aufgerufen, obwohl die App deaktiviert / deinstalliert ist.

Es gibt da bei NextcloudPi den ein oder anderen Beitrag zu dem Problem (z.B. Command "preview:pre-generate" is not defined. · Issue #1349 · nextcloud/nextcloudpi · GitHub). Es scheint dort unter /etc/cron.d/ncp-previews-auto eine Datei zu geben, die entsprechend den pre-generate Befehl aufruft, was dann deine Fehlermeldung auslöst.
Ich habe aber keine Erfahrung, wie NextcloudPi funktioniert, von daher kann ich dir da zu nichts raten. GrundsĂ€tzlich bekommst du die Fehlermeldung weg wenn der Befehl nicht mehr ausgefĂŒhrt wird, oder die PreviewGenerator App wieder funktioniert und der Befehl erfolgreich ausgefĂŒhrt werden kann.

Wir kommen der Lösung schon sehr nahe, dank Deines Hinweises! Das Verzeichnis:

ist eine Datei

/etc/cron.d/ncp-previews-auto mit dem Inhalt:

0 2 * * * root /usr/local/bin/nc-previews

also dem Verweis auf: /usr/local/bin/nc-previews. In der Datei findet man dann den möglichen Aufruf:

/usr/local/bin/nc-previews [B—] 11 L:[ 1+18 19/ 20] *(417 / 418b) 0010 0x00A [:arrow_up_down:][✕]
#!/bin/bash
echo -e “\n[ nc-previews-auto ]” >> /var/log/ncp.log
(
for i in $(seq 1 $(nproc)); do
ionice -c3 nice -n20 /usr/local/bin/ncc preview:pre-generate -n -vvv &
done
wait
) 2>&1 >>/var/log/ncp.log &

PID=$!
[[ “0” != 0 ]] && {
for i in $(seq 1 1 0); do
sleep 1
kill -0 “$PID” &>/dev/null || break
done
pkill -f preview:pre-generate
pkill -f preview:generate-all
}
wait “$PID”

Da wÀre doch die einfachste Lösung, den Verweis abzukommandieren.

Was meinst Du?

Genau, das sollte den Aufruf verhindern und damit auch die Fehlermeldung. Ob das aber spÀter mal Probleme macht bei einem Update von NextcloudPi kann ich dir nicht sagen.

Guten Morgen @SysKeeper,

ich habe gestern noch die entsprechende Zeile auskommentiert. Da ich am Morgen diese Meldung immer erhalten habe, wollte ich die Nacht abwarten. Wir haben es aber anscheinend erfolgreich geschafft, es ist alles ok, keine Meldung mehr! Habe vielen Dank fĂŒr Deine UnterstĂŒtzung.

Meine NCPi lĂ€uft im Moment ufb (ultra fine business). Es werden gegenĂŒber der letzten Version 23.x.x.x in der 24.0.0.1 im Webinterface die Ports checks 80 und 443 als geschlossen angezeigt, was aber nirgends Auswirkungen hat. Ist halt ein Schönheitsfehler, da werde ich nicht tiefgreifend nachgehen wollen.

Nochmals vielen Dank.

Thomas