• Edited
  • Best Answerset by crpb

Du kannst gromox-cleaner aktivieren und erweitern sodaß er auch noch die papierkörbe leert.

Sollte etwa so aussehen

# /etc/systemd/system/gromox-cleaner.service.d/override.conf
[Service]
Environment=softdelete_purgetime=30d trashbin_purgetime=7d
EnvironmentFile=
EnvironmentFile=-/etc/gromox/gromox.cfg
ExecStart=
ExecStart=/usr/sbin/gromox-mbop foreach.here.mb ( purge-softdelete -t ${softdelete_purgetime} -r / ) ( purge-datafiles ) ( emptyfld -R --delempty -t ${trashbin_purgetime} DELETED )

Halt nocht systemctl enable gromox-cleaner wenn noch nicht geschehen

    Super, danke für den Tip. werde ich mir anschauen und nein, gromox-cleaner kannst ich bis jetzt noch nicht 😉

    crpb
    Scheinbar war es nach dem grummunio-setup unter Debian 12 direkt aktiviert, aber auch wohl nie funktionable.
    Ich habe den Dienst mal ohne änderung neu gestartet und mir den status ausgeben lassen. Leider finde ich zu dem Fehler so gar nixhts, evtl. weißt du ja warum der Fehler auftritt:

    root@oppxchange:/var/spool/cron/crontabs# systemctl restart gromox-cleaner.service
    Job for gromox-cleaner.service failed because of unavailable resources or another system error.
    See "systemctl status gromox-cleaner.service" and "journalctl -xeu gromox-cleaner.service" for details.
    root@oppxchange:/var/spool/cron/crontabs# systemctl status gromox-cleaner.service
    × gromox-cleaner.service - Gromox mailbox cleaner
    Loaded: loaded (/lib/systemd/system/gromox-cleaner.service; static)
    Drop-In: /etc/systemd/system/gromox-cleaner.service.d
    ??override.conf
    Active: failed (Result: resources)
    TriggeredBy: ? gromox-cleaner.timer
    CPU: 0
    Mär 05 11:46:05 oppxchange systemd[1]: gromox-cleaner.service: Failed with result 'resources'.
    Mär 05 11:46:05 oppxchange systemd[1]: Failed to start gromox-cleaner.service - Gromox mailbox cleaner.
    Mär 05 11:48:58 oppxchange systemd[1]: gromox-cleaner.service: Failed to load environment files: No such file or directory
    Mär 05 11:48:58 oppxchange systemd[1]: gromox-cleaner.service: Failed to run 'start' task: No such file or directory
    Mär 05 11:48:58 oppxchange systemd[1]: gromox-cleaner.service: Failed with result 'resources'.
    Mär 05 11:48:58 oppxchange systemd[1]: Failed to start gromox-cleaner.service - Gromox mailbox cleaner.
    Mär 05 11:49:43 oppxchange systemd[1]: gromox-cleaner.service: Failed to load environment files: No such file or directory
    Mär 05 11:49:43 oppxchange systemd[1]: gromox-cleaner.service: Failed to run 'start' task: No such file or directory
    Mär 05 11:49:43 oppxchange systemd[1]: gromox-cleaner.service: Failed with result 'resources'.
    Mär 05 11:49:43 oppxchange systemd[1]: Failed to start gromox-cleaner.service - Gromox mailbox cleaner.

    • crpb replied to this.

      Solche Dinge sollten auch in die AdminUI, wo diese präsent sind. Was nutzen versteckte Features, wenn diese nicht jeder kennen kann.

      SOliver

      Zeig mal bitte was hier raus kommt:

      systemctl cat gromox-cleaner

      Mär 05 11:49:43 oppxchange systemd[1]: gromox-cleaner.service: Failed to load environment files: No such file or directory

      Ich weiss schon was es ist. https://github.com/grommunio/gromox/pull/134

      Werde meine antwort oben anpassen mit dem override.

      EnvironmentFile=-/etc/gromox/gromox.cfg

        SOliver Scheinbar war es nach dem grummunio-setup unter Debian 12 direkt aktiviert, aber auch wohl nie funktionable.

        Ja das ist in Debian normal da die aktivierung von den diensten standardmäßig anders geregelt ist.

        crpb
        Ja da bin ich gerade auch gelandet, das es /etc/gromox/gromox.cfg nicht gibt.
        Ist das ein Minus vor dem Pfad?

        PS: selber schon im GIT in dem Patch gefunden, ja ist ein Minus 😉
        Ich teste es nachher und berichte, danke schon mal für die Hilfe.

        Offtopic: Mir ist gerade aufgefallen, das nun auch grommunio-chat für Debian seit heute im repo ist.

        crpb
        das war die Lösung, ich habe beides mal auf 1d gesetzt und der Papierkorb ist leer 😉

        root@oppxchange:/var/spool/cron/crontabs# systemctl daemon-reload
        root@oppxchange:/var/spool/cron/crontabs# systemctl restart gromox-cleaner.service
        root@oppxchange:/var/spool/cron/crontabs# systemctl status gromox-cleaner.service
        ? gromox-cleaner.service - Gromox mailbox cleaner
        Loaded: loaded (/lib/systemd/system/gromox-cleaner.service; static)
        Drop-In: /etc/systemd/system/gromox-cleaner.service.d
        ??override.conf
        Active: inactive (dead) since Wed 2025-03-05 16:20:14 CET; 12s ago
        TriggeredBy: ? gromox-cleaner.timer
        Process: 1758280 ExecStart=/usr/sbin/gromox-mbop foreach.here.mb ( purge-softdelete -t ${softdelete_purgetime} -r / ) ( purge-datafiles ) (code=exited, status=0/SUCCESS)
        Process: 1758284 ExecStart=/usr/sbin/gromox-mbop foreach.here.mb ( purge-softdelete -t ${softdelete_purgetime} -r / ) ( purge-datafiles ) ( emptyfld -R --delempty -t ${trashbin_purgetime} DELETED ) (code=exited, status=0/SUCCESS)
        Main PID: 1758284 (code=exited, status=0/SUCCESS)
        CPU: 73ms
        Mär 05 16:20:14 oppxchange gromox-mbop[1758284]: Folder 0xb: deleted 1 messages
        Mär 05 16:20:14 oppxchange gromox-mbop[1758284]: Folder 0xb: deleted 0 messages
        Mär 05 16:20:14 oppxchange gromox-mbop[1758284]: Folder 0x270001: deleted 0 messages
        Mär 05 16:20:14 oppxchange gromox-mbop[1758284]: Folder 0x270001: deleted due to --delempty
        Mär 05 16:20:14 oppxchange gromox-mbop[1758284]: Folder 0xb: deleted 0 messages
        Mär 05 16:20:14 oppxchange gromox-mbop[1758284]: Folder 0xb: deleted 0 messages
        Mär 05 16:20:14 oppxchange gromox-mbop[1758284]: Folder 0xb: deleted 0 messages
        Mär 05 16:20:14 oppxchange gromox-mbop[1758284]: Folder 0xb: deleted 0 messages
        Mär 05 16:20:14 oppxchange systemd[1]: gromox-cleaner.service: Deactivated successfully.
        Mär 05 16:20:14 oppxchange systemd[1]: Finished gromox-cleaner.service - Gromox mailbox cleaner.

        Andy Regeln lassen sich im WebUI erstellen. Die Frage ist, welche Anforderungen bestehen.

        Von was sprichst du da? Wo soll es da regeln geben um was zu löschen?

        gut zu hören, dass das mitlerweile eingebaut ist. Ich bin noch etwas irritiert ob der syntax bzg. der Zeitgangabe.
        Laut man-page und deinem override wird die Zeit mit -t in d(ays) angegeben. im orgiginal systemd script steht aber:
        ( purge-softdelete -d ${softdelete_purgetime} -r / )

        ist das ein bug im systemd script oder geht beides?

          segro
          Bei mir stand im /lib/systemd/system/gromox-cleaner.service folgendes drin unter Debian 12:

          Description=Gromox mailbox cleaner
          Requisite=gromox-http.service
          After=gromox-http.service
          
          [Service]
          # Fallback if EnvironmentFile hasn't got any value
          Environment=softdelete_purgetime=30d
          EnvironmentFile=/etc/gromox/gromox.cfg
          ExecStart=/usr/sbin/gromox-mbop foreach.here.mb ( purge-softdelete -t ${softdelete_purgetime} -r / ) ( purge-datafiles )
          MemoryDenyWriteExecute=yes
          PrivateDevices=yes
          PrivateNetwork=no
          PrivateUsers=no
          ProtectControlGroups=yes
          ProtectKernelModules=yes
          ProtectKernelTunables=yes
          SystemCallFilter=@default @file-system @basic-io @system-service
          Type=oneshot

          Dort habe ich mit nano nur folgendes geändert:
          EnvironmentFile=/etc/gromox/gromox.cfg
          in
          EnvironmentFile=-/etc/gromox/gromox.cfg

          Danach dann ein "systemctl daemon-reload"

          Im Anschluss dann die Änderung von @crpb in etwa übernommen 😉
          Mit "systemctl edit gromox-cleaner.service" die Datei angepasst, damit es auch ein Upgrade überlebt, mit folgendem Inhalt:

          ### Anything between here and the comment below will become the new contents of the file
          
          [Unit]
          Description=Gromox mailbox cleaner
          Requisite=gromox-http.service
          After=gromox-http.service
          
          [Service]
          # Fallback if EnvironmentFile hasn't got any value
          Environment=softdelete_purgetime=1d trashbin_purgetime=0d
          EnvironmentFile=-/etc/gromox/gromox.cfg
          ExecStart=/usr/sbin/gromox-mbop foreach.here.mb ( purge-softdelete -t ${softdelete_purgetime} -r / ) ( purge-datafiles ) ( emptyfld -R --delempty -t ${trashbin_purgetime} DELETED )
          MemoryDenyWriteExecute=yes
          PrivateDevices=yes
          PrivateNetwork=no
          PrivateUsers=no
          ProtectControlGroups=yes
          ProtectKernelModules=yes
          ProtectKernelTunables=yes
          SystemCallFilter=@default @file-system @basic-io @system-service
          Type=oneshot
          
          ### Lines below this comment will be discarded
          
          ### /lib/systemd/system/gromox-cleaner.service
          # [Unit]
          # Description=Gromox mailbox cleaner
          # Requisite=gromox-http.service
          # After=gromox-http.service
          # 
          # [Service]
          # # Fallback if EnvironmentFile hasn't got any value
          # Environment=softdelete_purgetime=30d
          # EnvironmentFile=-/etc/gromox/gromox.cfg
          # ExecStart=/usr/sbin/gromox-mbop foreach.here.mb ( purge-softdelete -t ${softdelete_purgetime} -r / ) ( purge-datafiles )
          # MemoryDenyWriteExecute=yes
          # PrivateDevices=yes
          # PrivateNetwork=no
          # PrivateUsers=no
          # ProtectControlGroups=yes
          # ProtectKernelModules=yes
          # ProtectKernelTunables=yes
          # SystemCallFilter=@default @file-system @basic-io @system-service
          # Type=oneshot

          Augenscheinlich funktioniert auch das mit dem Trashbin, ob sie auch aus dem zu "Wiederherstellen" verschwinden, sehe ich erst morgen,
          Also -t sollte der richtige Schalter sein.

          ok, dann scheint da in den EL9 (supported) packages was falsches drin zu stehen:

          root@mail.xxx.de:~# systemctl cat gromox-cleaner
          # /usr/lib/systemd/system/gromox-cleaner.service
          [Unit]
          Description=Gromox mailbox cleaner
          Requisite=gromox-http.service
          After=gromox-http.service
          
          [Service]
          # Fallback if EnvironmentFile hasn't got any value
          Environment=softdelete_purgetime=30d
          EnvironmentFile=/etc/gromox/gromox.cfg
          ExecStart=/usr/sbin/gromox-mbop foreach.here.mb ( purge-softdelete -d ${softdelete_purgetime} -r / ) ( purge-datafiles )
          MemoryDenyWriteExecute=yes
          PrivateDevices=yes
          PrivateNetwork=no
          PrivateUsers=no
          ProtectControlGroups=yes
          ProtectKernelModules=yes
          ProtectKernelTunables=yes
          SystemCallFilter=@default @file-system @basic-io @system-service
          Type=oneshot

            segro
            Ich habs nun einfach alles nochmal manuell getestet, da mein Server noch nicht produktiv im Einsatz ist:

            root@oppxchange:~# /usr/sbin/gromox-mbop foreach.here.mb purge-softdelete -d 0d -r /
            Unknown option: -d
            Usage: purge-softdelete [-r] [-t TIMESPEC] [-?|--help] [--usage]
            4 days later

            -d / -t in .service

            -> https://github.com/grommunio/gromox/pull/133/files

            segro Laut man-page und deinem override wird die Zeit mit -t in d(ays) angegeben. im orgiginal systemd script steht aber:
            ( purge-softdelete -d ${softdelete_purgetime} -r / )

            ist das ein bug im systemd script oder geht beides?

            Siehe da oben drüber

            © 2020-2024 grommunio GmbH. All rights reserved. | https://grommunio.com | Data Protection | Legal notice