Zum Hauptinhalt gehen

CLI-Client für die Verwaltung

Der CLI-Client ("Command Line Interface" = Befehlszeilenschnittstelle) ermöglicht es Ihnen, Verwaltungsaufgaben der BlueMind Plattform über die Befehlszeile auszuführen, ohne dafür Skripte erstellen zu müssen.

Gekoppelt mit dem bm-tick Monitoringsystem ermöglicht es unter anderem die Durchführung von Administrationsaufgaben. Weitere Informationen finden Sie unter bm-tick entdecken und installieren.

Installation

Le client bm-cli est installé par défaut lors de l'installation de BlueMind.

Zusätzliche Komponenten können installiert werden, um die Fähigkeiten des Tools zu erweitern:

  • bm-plugin-cli-mapi : ajoute des commandes de gestion de MAPI für Outlook
    NB : ce paquet est installé automatiquement lors de l'installation des paquets mapi.
  • bm-plugin-cli-setup: fügt Befehle für die Installation und Aktualisierung von BlueMind hinzu

Nutzung

Eine Bestellung starten

Um das Kommandozeilen-Tool zu verwenden, verbinden Sie sich über ssh mit dem Server und verwenden Sie den Befehl bm-cli, gefolgt von dem Befehl und seinen Optionen. Um beispielsweise die Nutzer der Domäne :

bm-cli user get bluemind.loc
Tipp

Die Befehle können untereinander oder mit anderen üblichen Befehlen gekoppelt werden. Sie können auch in Skripte eingebunden werden, um mehrere Operationen auf einmal durchzuführen.

Bestehende Aufträge auflisten

Der Befehl bm-cli -h listet alle verfügbaren Befehle auf:

Extrait
bm-cli -h
auditlog
auditlog create create audit log datastream
auditlog acl get access control entries
auditlog get get auditlog data
auditlog calendar get calendar data
auditlog dir get directory data
auditlog global get global auditlog data
auditlog login get login data
auditlog mail get mail data
auditlog mailfilter get mail filter rule data
auditlog get-.retention Get retention duration (days) for datastream
auditlog sysconf get system configuration and global setting data
auditlog set-retention set retention duration (days) for datastream
auth
auth reconfigure Delete & recreate keycloak realms for existing domains
auth get-.conf Get domain authentication configurations
auth set-conf Set domain authentication configuration
auth-provider
auth-provider openid-list-provider List registered OpenId provider systems
auth-provider openid-register-provider Register an OpenID provider system
calendar
calendar log Pretty-Print an auditlog file
calendar delete-events-by-.organizer Delete all events having a specific organizer
calendar Export a calendar to an ICS file
calendar import import an ICS File
calendar list List user or whole domain calendars
calendar list-event-details-by-organizer List event details
calendar reset Reset eines Kalenders
calendar resync Resync eines Ereignisses
calendar touch Increment the version of a calendar event
...
info

Die Befehle werden mit jeder neuen Version von BlueMind erweitert. Es kann daher sein, dass je nach der installierten Version von BlueMind mehr (oder weniger) Befehle und Optionen verfügbar sind.

Daher ist es wichtig, sich auf den Befehl bm-cli -h des Servers zu beziehen.

Der zusätzliche Parameter v ermöglicht es, dem Listing die vollständige Hilfe zu jedem Befehl hinzuzufügen:

Extraits de la commande
bm-cli -hv
auditlog -h, --help
Zeigt den gesamten Befehlsbaum an.
-v, --verbose
Zeigt auch die Argumente für jeden Befehl im Baum an.

[...]

calendar -h, --help
Zeigt den gesamten Befehlsbaum an.
-v, --verbose
Zeigt auch die Argumente für jeden Befehl im Baum an.

calendar log Pretty-Print an auditlog file
--dataShow data
--show-ro
Show read-only data
--data-by-date
Zeigt Daten nur zu einem bestimmten Datum an (yyyy-MM-ddThh:mm:ss).
Matching funktioniert auch mit Substrings dieses Musters
--event-query
Event query string (Spalten Action und Event)
--event-uid
Event UID query string
--calendar-query
Calendar query string (Spalte Calendar)
--filtered-actions
Comma-separated list of actions which should not appear
in the output
<file>Path to the auditlog file

calendar delete-.events-by-organizer Delete all events having a specific organizer
-- domain
domain
--dry
list events without deleting them
<email>
Organizer email

calendar export Export eines Kalenders in eine ICS-Datei
--direntry-uid
Directory entry UID
--all-domains
All domains except global.virt
--workers
run with X workers (default: 1)
--match
regex that entity must match, for example: [a-c].*
--progress
display progress messages
--output-directory
The output directory path, files will be saved in an email
named subdirectory
--dry Dry-run (do nothing)
--calendarUid
calendar uid, export all calendars if not specified
<target>
email address or domain name

[...]

setup -h, --help
Zeigt den kompletten Befehlsbaum an.
-v, --verbose
Zeigt auch die Argumente für jeden Befehl im Baum an.

setup enable-mailapp Activate MailApp
--direntry-uid
Directory entry UID
--all-domains
All domains except global.virt
--workers
run with X workers (default: 1)
--match
regex that entity must match, for example: [a-c].*
--progress
display progress messages
--group
Adds the necessary role to this group (defaults to 'user')
<target>
email address or domain name

setup check-subscription Check subscription
setup install Install BlueMind
--domain
Set the default domain name.
--external-url
Setzen Sie die Externe Url. Bsp.: bluemind.domain.tld
--sw-pass
Setup Wizard Password einrichten.
--domain-admin-pass
Set domain administrator password.
--admin0-pass
Set admin0 password.
--reinstall
Erzwingt die Installation, auch wenn sie installiert ist.
--set-contact
Set a subscription contact
--shard-ip
Provided shard server IP (deprecated, please use the
servers-map feature)
--server-map
Weisen Sie Tags auf den ausgewählten Servern zu, die mehrfach angegeben werden können
.
(Liste der Tags im TagDescriptor aus net.bluemind.server.
api)
Beispiel:
* Elasticsearch on 192.168.1.2
* storage servers on 192.168.1.3, 192.168.1.4

--server-map 192.168.1.2=bm/es \
--server-map 192.168.1.3=bm/pgsql-data,mail/imap \
--server-map 192.168.1.4=bm/pgsql-data,mail/imap

--lang Set admin0 language. (default 'de')

setup upgrade_history Zeigt die Bluemind Upgrade Geschichte
setup upgrade Upgrade BlueMind
-f, --force
force update, auch wenn core die richtige Version meldet
--backup
Backup Bluemind Datenbanken (pg-dump), kann sehr lang sein.
--lang
Setzen Sie admin0 Sprache (en, fr...).

Hilfe bei einer Bestellung

Es ist jederzeit möglich, mit --help oder -h Hilfe zu einem bestimmten Befehl zu erhalten.

Zum Beispiel zeigt maintenance -h den Befehl maintenance und seine verschiedenen möglichen Aktionen:

bm-cli maintenance -h
consolidateIndex Consolidate a mailbox index
dump-cache Dump core caches to a json file
flush-cache Flush bm-core caches
list List directory entries
orphan-body-repair delete orphan mail bodies
orphan-check check and delete orphan mailbox records
read-.cyrus-index Read a cyrus index file
repair Run repair maintenance operation
ops List available maintenance operations
schema check database schema
sentry sentry setup
update-fw Update firewall rules

Um weitere Details zu einem Unterbefehl zu erhalten, geben Sie einfach den Unterbefehl selbst ein. Hier finden Sie Hilfe zur Indexkonsolidierung :

bm-cli maintenance consolidateIndex -h
Usage: bm-cli maintenance consolidateIndex [--progress] [--reset]
[--match=<match>] [--workers=<workers>] (<target> |
--direntry-uid=<dirEntryUid> | --all-domains)
Konsolidieren Sie einen Mailbox-Index
<target> email address or domain name
--all-domains Alle Domains außer global.virt
--direntry-uid=<dirEntryUid>
Directory entry UID
--match=<match> regex that entity must match, for example: [a-c].*
--progress display progress messages
--reset Reset the index (only the data belonging to the
target)
--workers=<workers> run with X workers (default: 1)

Verwaltung von Entitäten

Erhalten der UID einer Entität

Die verschiedenen Befehle für die Entitäten (Benutzer, Kontakt, Kalender)

Die UID eines Nutzers finden

Um die UID eines Benutzers zu erhalten, verwenden Sie den Befehl bm-cli user get und geben Sie als Suchzeichen die Standard-E-Mail-Adresse an oder verbinden Sie ihn mit grep, um nach einem anderen Feld zu filtern:

bm-cli user get bluemind.loc --match=jdoe@bluemind.loc --display uid
{"uid": "9236AE27-9C2D-4BA7-84D3-C2067D515195"}

bm-cli user get bluemind.loc --display "uid familyNames"|grep "Doe"
{"uid": "9236AE27-9C2D-4BA7-84D3-C2067D515195", "familyNames": "Doe"}

Die UID einer Gruppe finden

Um die UID einer Gruppe zu erhalten, verwenden Sie den Befehl bm-cli group get und geben den Namen der Gruppe und die Suchdomäne an:

bm-cli group get Direction@bluemind.loc
{"value":{"orgUnitUid":null, "emails":[{"address": "direction@bluemind.loc", "allAliases":true, "isDefault":true}], "hidden":false, "archived":false, "system":false, "dataLocation": "bm-master", "name":"Direction", "description":null, "properties":{}, "hiddenMembers":false, "mailArchived":true, "memberCount":2}, "uid": "A48CF63E-C39F-46A9-9F85-3DF1459E8BDC", "internalId":24, "version":53, "displayName": "Direction", "externalId":null, "createdBy": "admin0_global.virt","updatedBy":"system","created":1758880480523,"updated":1758880493135,"flags":[]}

*NB: Im Gegensatz zum Befehl für die Benutzer ist es hier nicht möglich, die Ausgabe zu filtern, um nur die UID zu erhalten.

Die UID eines Adressbuches finden

Die UID eines Notizbuchs kann über den Befehl bm-cli contact list ermittelt werden, der alle Notizbücher eines Benutzers, einer Domäne oder aller Domänen auflistet.

Für das Notizbuch eines Benutzers können Sie die komplette Liste seiner Notizbücher abrufen und eventuell mit anderen Befehlen filtern (z.B. grep):

bm-cli contact list jdoe@bluemind.loc

Bei einem Feldbuch ermöglicht der Parameter --match eine einfache Filterung nach dem Namen:

bm-cli contact list --match=Clients --all-domains
{"owner":"FDF64CCE-E957-423E-BB93-25990B2B13C9","uid":"FDF64CCE-E957-423E-BB93-25990B2B13C9","name":"Clients"}

Die UID eines Kalenders finden

Die UID eines Kalenders kann mit dem Befehl bm-cli calendar list ermittelt werden, um alle Kalender eines Benutzers, einer Domäne oder aller Domänen aufzulisten.

Für den Kalender eines Benutzers können Sie die komplette Liste seiner Kalender abrufen und eventuell mit anderen Befehlen (z.B. grep) filtern:

bm-cli calendar list jdoe@bluemind.loc
{"owner":"9236AE27-9C2D-4BA7-84D3-C2067D515195","uid":"calendar:Default:9236AE27-9C2D-4BA7-84D3-C2067D515195","name":"John Doe"}

Bei einem Domänenkalender ermöglicht der Parameter --match eine einfache Filterung nach dem Namen:

bm-cli calendar list --all-domains --match=Evenementiel
{"owner":"B835E391-FB8E-4879-A763-883C5489C0CA","uid":"B835E391-FB8E-4879-A763-883C5489C0CA","name":"Evenementiel"}

Die UID einer beliebigen Entität finden

Mit dem Befehl "Maintenance list" können Sie alle Einheiten eines Bereichs oder einer Anlage auflisten, unabhängig von ihrem Typ. Dies ermöglicht es Ihnen, die Informationen, einschließlich der UID, zu finden, ohne den Typ zu kennen oder wenn der Typ keinen eigenen Befehl hat:

# Suche nach der UID einer Entität in der Installation, ohne ihren Typ oder ihre Domäne zu kennen, mit grep
bm-cli maintenance list --all-domains | grep contact
{"displayName": "contact", "entryUid": "8D2FCA19-798A-4ACE-A88F-9E5693172FD9", "accountType":null, "kind": "MAILSHARE", "path": "7bbaaa6d.internal/mailshares/8D2FCA19-798A-4ACE-A88F-9E5693172FD9", "email": "contact@bluemind.loc", "hidden":false, "system":false, "archived":false, "emails":null, "orgUnitUid":null, "orgUnitPath":null, "dataLocation": "bm-master", "minId":13}

# Suche nach der UID der Shared Box "contact" der bluemind-Domain.loc
bm-cli maintenance list contact@bluemind.loc
{"displayName": "contact", "entryUid": "8D2FCA19-798A-4ACE-A88F-9E5693172FD9", "accountType":null, "kind": "MAILSHARE", "path": "7bbaaa6d.internal/mailshares/8D2FCA19-798A-4ACE-A88F-9E5693172FD9", "email": "contact@bluemind.loc", "hidden":false, "system":false, "archived":false, "emails":null, "orgUnitUid":null, "orgUnitPath":null, "dataLocation": "bm-master", "minId":13}

NB: Die UID wird hier im Feld entryUid zurückgegeben.

Verwaltung der Nutzer

Alle Nutzer auf ein Notizbuch oder einen Kalender abonnieren

**Sie möchten, dass alle Nutzer ein Domain-Adressbuch abonnieren. Um Fehler/Übersehen zu vermeiden und das Verfahren zu vereinfachen, kann ein Administrator dies einfach mit Hilfe des CLI tun.

Zunächst müssen Sie die UID des gewünschten Notizbuchs oder Kalenders abrufen (siehe oben). Dann verwenden Sie einfach den Befehl user subscribe mit dem Parameter --users-all, um alle Nutzer für die gewünschte Entität zu abonnieren:

# Abonnement von Benutzern für das Notizbuch "Kunden"
bm-cli user subscribe --subscribe-to "FDF64CCE-E957-423E-BB93-25990B2B13C9" --users-all --domain "bluemind.loc"
1/3:SUCCESS:user UID 9236AE27-9C2D-4BA7-84D3-C2067D515195 subscribed
2/3:SUCCESS:user UID D44D1825-E4DF-44FB-99CD-3E8AF564AED1 subscribed
3/3:SUCCESS:user UID 678D2A6D-D573-41A2-B73D-C32DEA1C4BC1 subscribed
---
Subscribe to 'FDF64CCE-E957-423E-BB93-25990B2B13C9' ending
0 subscriber(s) not found
0/3 subscription(s) in error
3/3 subscription(s) success

# Benutzerabonnement für den Kalender "Evenemental"
bm-cli user subscribe --subscribe-to "B835E391-FB8E-4879-A763-883C5489C0CA" --users-all --domain "bluemind.loc"
1/3:SUCCESS:user UID 9236AE27-9C2D-4BA7-84D3-C2067D515195 subscribed
2/3:SUCCESS:user UID D44D1825-E4DF-44FB-99CD-3E8AF564AED1 subscribed
3/3:SUCCESS:user UID 678D2A6D-D573-41A2-B73D-C32DEA1C4BC1 subscribed
---
Subscribe to 'B835E391-FB8E-4879-A763-883C5489C0CA' ending
0 subscriber(s) not found
0/3 subscription(s) in error
3/3 subscription(s) success

Archivierte (suspendierte) Benutzer aus der Domäne entfernen

Der folgende Befehl sucht nach den E-Mail-Adressen der suspendierten Benutzer:

bm-cli user get bluemind.loc --archived --display "email".

Es ist dann möglich, die Rückgabe mit einer Schleife und dem Befehl "delete" zu verbinden, um die zurückgegebenen Benutzer zu löschen:

bm-cli user get bluemind.loc --display "email" | jq -r '.[].email' > /tmp/archived.txt
while read account; do
bm-cli user delete --dry "$account"
done < /tmp/archived.txt

Wenden Sie eine Quote auf alle Nutzer an, die keine Quote haben.

Cette opération se fait à l'aide de plusieurs commandes bm-cli et jq qui sont regroupées en une seule :

  1. Die Liste der Nutzer mit ihren Quoten abrufen :

    bm-cli user get bluemind.loc --display 'email quota'.
  2. Filtrer cette même commande sur les utilisateurs ayant un quota null :

    bm-cli user get bluemind.loc --display 'email quota' | grep null
  3. L'outil jq permet ensuite d'extraire l'email de chaque ligne retournée :

    jq -r '.email'.
  4. Schließlich der Befehl zum Aktualisieren der Quote (hier eine Quote von 80 MB) :

    bm-cli user update --quota "81920" username@bluemind.loc

Der letzte Befehl, um dies in einer einzigen Zeile zu erreichen, ist :

bm-cli user get bluemind.loc --display 'email quota' | grep null | jq -r '.email' | xargs -n1 bm-cli user update --quota "81920" bm-cli user update --quota "81920"

Aktivieren der Zwei-Faktor-Authentifizierung (MFA/OTP)

Die Aktivierung des Projektstrukturplans, die über die Verwaltungsmaske eines Benutzers möglich ist (siehe Multifaktor-Authentifizierung über OTP), kann über die Befehlszeile erfolgen, so dass der Benutzer aktiviert werden kann:

  • Für mehrere Nutzer in einer einzigen Bestellung :
    bm-cli user mfa --email=jdoe@bluemind.loc ada.lovelace@bluemind.loc emhyr.varemreis@doc-5-6.dev.bluemind.net --otp-required
  • für den Superadministrator admin0:
    bm-cli user mfa --email=admin0@global.virt --otp-required

ZuWeitere Informationen den verfügbaren Aktivierungs- und Deaktivierungsoptionen finden Sie unter siehe die Online-Hilfe zum Befehl bm-cli user mfa -h..

Kalenderoperationen

Exportieren/Importieren aller Kalender eines Benutzers

Cas d'usage : Dans le cadre d'un départ, en vue de pouvoir les réimporter chez d'autres utilisateurs, on veut exporter l'ensemble des calendriers d'un utilisateur.

  1. Exporter l'ensemble des calendriers de l'utilisateur John Doe (identifiant jdoe@bluemind.loc) dans le dossier /home/user/export/cals :

    bm-cli calendar export --output-directory /home/user/export/cals jdoe@bluemind.loc
  2. Importieren Sie den gewünschten Kalender von einem anderen Benutzer :

    bm-cli calendar import --calendarUid calendar:Default:A1B2C3D4E5F6Z --ics-file-path /home/user/export/cals/jdoe_default.ics hannibal@bluemind.loc

    💡 Um alle Kalender (exportiert wie oben oder aus einer anderen Quelle) zu importieren, kannst du diesen Befehl in eine Schleife einbinden, die den Exportordner und die Kalender des Zielbenutzers durchläuft.

Exportieren Sie die Kalender aller Nutzer

Cas d'usage : Dans une optique de migration ou de sauvegarde, on souhaite exporter et sauvegarder tous les calendriers de tous les utilisateurs au format ICS.

Dazu wird eine Schleife durch alle Nutzer gezogen und ein Export wie oben durchgeführt:

bm-cli user get bluemind.loc --display 'email' | grep -v null | jq -r '.email' > /tmp/allUser.bluemind.loc
while read account; do
bm-cli calendar export --output-directory /tmp/export/cals "$account"
done < /tmp/allUser.bluemind.loc

Diese Schleife exportiert alle Kalender, indem sie einen Ordner pro Benutzer erstellt:

/tmp/export/cals/
./admin@bluemind.loc
- admin.ics
./hannibal@bluemind.loc
- John+Smith.ics
./jdoe@bluemind.loc
- John+Doe.ics
- Reunions.ics
./patreides@bluemind.loc
- children.ics
- on-call+duty.ics
- Paul+Atreides.ics

Kontaktoperationen

Kontakte aus einem Adressbuch in ein anderes importieren

Cas d'usage : un utilisateur souhaite récupérer ses contacts collectés dans son carnet d'adresses personnel.

Dann übertragen Sie die Kontakte in Ihr persönliches Notizbuch (testen Sie vorher den Import):

# Suche nach der uid in den Notizbüchern des Benutzers
bm-cli contact list jdoe@bluemind.loc
{"owner": "05E25C2C-3643-4ED2-997C-4A4F39933D18", "uid": "book:Contacts_05E25C2C-3643-4ED2-997C-4A4F39933D18", "name":"My contacts"}
{"owner":"05E25C2C-3643-4ED2-997C-4A4F39933D18","uid":"book:CollectedContacts_05E25C2C-3643-4ED2-997C-4A4F39933D18","name":"Collected contacts"}
{"owner":"05E25C2C-3643-4ED2-997C-4A4F39933D18", "uid": "408C741B-3FDC-44B6-B1FD-19E79404BFCF", "name": "Perso"}
# Reinigung des Notizbuchs "Collected Contacts"
bm-cli contact deduplicate jdoe@bluemind.loc --addressbook-uid book:CollectedContacts_05E25C2C-3643-4ED2-997C-4A4F39933D18
2 were removed out of 35
# Export in das VCF-Format
bm-cli contact export jdoe@bluemind.loc --vcf-file-path /tmp/jdoe-collected.vcf --addressbook-uid book:CollectedContacts_05E25C2C-3643-4ED2-997C-4A4F39933D18
addressbook book:CollectedContacts_05E25C2C-3643-4ED2-997C-4A4F39933D18 of jdoe@bluemind.loc was exported
# Import des Notizbuchs im VCF-Format in das persönliche Notizbuch
## Test mit der Option "dry"
bm-cli contact import jdoe@bluemind.loc --vcf-file-path /tmp/jdoe-collected.vcf --addressbook-uid 408C741B-3FDC-44B6-B1FD-19E79404BFCF --dry
DRY: AddressBook 408C741B-3FDC-44B6-B1FD-19E79404BFCF of jdoe@bluemind.loc was imported
## Durchführung des Imports
bm-cli contact import jdoe@bluemind.loc --vcf-file-path /tmp/jdoe-collected.vcf --addressbook-uid 408C741B-3FDC-44B6-B1FD-19E79404BFCF
AddressBook 408C741B-3FDC-44B6-B1FD-19E79404BFCF of jdoe@bluemind.loc was imported
# Zurücksetzen des "Collected Contacts"-Buches
bm-cli contact reset jdoe@bluemind.loc --addressbook-uid book:CollectedContacts_05E25C2C-3643-4ED2-997C-4A4F39933D18
Addressbook book:CollectedContacts_05E25C2C-3643-4ED2-997C-4A4F39933D18 of jdoe@bluemind.loc was reset

Administration & Maintenance

Status der BlueMind-Instanz

Mit dem folgenden Befehl können Sie Fehler auf den core Knoten einer BlueMind Instanz erkennen:

bm-cli node status
Exemple d'erreurs remontées par cette commande :
bm-cli node status
Alerts for 3 days (some might be resolved)
* [192.168.121.109] ES / elasticsearch-cluster-health: cluster is red @ Fri May 19 08:32:10 GMT 2023
* [192.168.121.109] heartbeat: bm-ysnp heartbeats are slow @ Wed May 17 11:43:51 GMT 2023
* [192.168.121.109] heartbeat: bm-ysnp heartbeats are slow @ Wed May 17 11:43:51 GMT 2023 * [192.168.121.109] heartbeat: bm-ysnp heartbeats are slow @ Wed May 17 07:35:24 GMT 2023
* [192.168.121.109] ES / elasticsearch-cluster-health: cluster is red @ Wed May 17 07:35:08 GMT 2023
* [192.168.121.109] ES / elasticsearch-cluster-health: cluster is red @ Wed May 17 07:35:08 GMT 2023 * [192.168.121.109].168.121.109] heartbeat: bm-ysnp heartbeats are slow @ Tue May 16 15:08:50 GMT 2023
* [192.168.121.109] heartbeat: bm-ysnp heartbeats are slow @ Tue May 16 10:50:49 GMT 2023
Server 192.168.121.109] heartbeat: bm-ysnp heartbeats are slow @ Tue May 16 10:50:49 GMT 2023 Server 192.168.121.109: bm-ysnp heartbeats are slow.121.109 (bm-master 192.168.121.109 [mail/smtp, mail/imap, bm/es, bm/core, bm/ac, bm/cal, bm/webmail, bm/contact, bm/settings, bm/redirector, bm/nginx, bm/pgsql, bm/pgsql-data, metrics/influxdb]). OK
DMESG Fri May 19 08:31:19 GMT 2023: systemd-journald[266]: Datei /var/log/journal/1bda33e3d75246aaa6d2b8bfafcbad6/system.journal beschädigt oder uncleanly shut down, renaming und replacing.
DMESG Fri May 19 08:31:19 GMT 2023: FAT-fs (vda15): Das Volume wurde nicht ordnungsgemäß eingehängt. Einige Daten können korrupt sein. Bitte führen Sie fsck aus.
Multi-Knoten-Installation

Bei einer Multi-Knoten-Installation sollte dieser Befehl nur auf einem core-Knoten ausgeführt werden, um unnötige Fehler oder Warnungen zu vermeiden.

Effectuer un check&repair global

La commande suivante permet d'effectuer l'opération "valider et réparer" sur l'ensemble des utilisateurs du domaine bluemind.loc en utilisant 4 threads :

bm-cli maintenance repair bluemind.loc --workers 4

Ändern des Passworts admin0

Aus verschiedenen technischen oder praktischen Gründen (z. B. bei Verlust) kann es sinnvoll sein, das Passwort des Benutzers admin0 zu ändern, ohne sich in BlueMind anmelden zu müssen.

Mit dem folgenden Befehl können Sie dies tun, ohne das alte Passwort zu kennen:

bm-cli user update admin0@global.virt --password "NewPassword".

Die tick-Konfiguration aktualisieren

Wenn das Bm-Tick-Monitoring-Tool installiert ist (siehe bm-tick entdecken und installieren), können Sie Verwaltungsaufgaben für das Tool ausführen. Zum Beispiel ist es möglich, die Konfiguration auf alle Server der Domäne mit dem folgenden Befehl neu zu verteilen:

bm-cli tick reconfigure
Tipp

Mit der Option --dry können Sie den Befehl testen: Die Operation wird nur simuliert.

bm-cli tick reconfigure --dry

Pflege von Nutzern und Index

Das Tool bm-cli ermöglicht verschiedene Wartungsmaßnahmen an Benutzern durchzuführen, z.B. :

# repair the user user@bluemind.loc
bm-cli maintenance repair user@bluemind.loc
# repair all users in the domain using 4 threads
bm-cli maintenance repair bluemind.loc --numworkers 4
# consolidate the user index user@bluemind.loc
bm-cli maintenance consolidateIndex user@bluemind.loc
# processes the first 100 returned users
bm-cli maintenance consolidateIndex bluemind.loc --from 0 --size 100
# Bearbeitet die nächsten 50 Benutzer
bm-cli maintenance consolidateIndex bluemind.loc --from 101 --size 50
# Bearbeitet die Entitäten, die mit a, b oder c beginnen
bm-cli maintenance consolidateIndex bluemind.loc --match '[a-c].\*'.

Analyse von Logs

Das Auditlog-Werkzeug ermöglicht es dir, die Aktionen und Änderungen zu verfolgen, die an den BlueMind-Einheiten vorgenommen wurden.

Weitere Informationen finden Sie unter Logs - Konfiguration und Analyse

Aktivierung der EAS-Logs

bm-cli permet également d'activer ou désactiver les logs EAS afin de faciliter la gestion des problèmes de connexion ou de synchronisation sur mobile. Siehe Probleme bei der mobilen Synchronisation für Befehle.

Installation und Update von BlueMind

Das Abonnement für automatische BlueMind-Updates bietet auch zusätzliche bm-cli-Clientoperationen für diese.

Da diese Operationen sensibel und riskant sind, sollten diese Befehle nur von fortgeschrittenen Administratoren verwendet werden.

Um diese Befehle zu erhalten, müssen Sie das entsprechende Plugin installieren:

apt install bm-plugin-cli-setup

Der zusätzliche Befehl setup ist dann sofort nach der Installation des Plugins ohne Neustart verfügbar.

Installation

Um BlueMind zu installieren, verwenden Sie den Unterbefehl install:

# Hilfe zu den verfügbaren Argumenten und ihrer Verwendung erhalten
bm-cli setup -h
# BlueMind installieren, indem Sie die gewünschten Konfigurationsparameter als Argumente übergeben
bm-cli setup install --external-url bluemind.bluemind.loc --domain bluemind.loc --sw-pass Passw0rd
bm-cli setup install install --external-url bluemind.bluemind.loc --domain bluemind.loc --sw-pass Passw0rd --set-contact admin@bluemind.loc --reinstall

ℹ️ Hier verwendete Parameter :

  • --external-url : externe URL von BlueMind
  • --domain : Domain
  • --set-contact : ermöglicht das Festlegen der Standard-E-Mail-Adresse für Benachrichtigungen über das Ablaufdatum des Abonnements
  • --sw-pass : ermöglicht das Setzen des Administratorpassworts für den Setupwizard
Tipp

Der Parameter --server-map ermöglicht die Zuweisung von Servern und die Installation einer ganzen Instanz mit einem einzigen Befehl. Zum Beispiel :

--server-map 192.168.1.2=bm/es --server-map 192.168.1.3=bm/pgsql-data,mail/imap --server-map 192.168.1.4=bm/nginx-edge,mail/smtp-edge

Weitere Informationen zu den verfügbaren Parametern finden Sie in der Online-Hilfe zum Befehl :

bm-cli setup install -h

Aktualisierung

Informationen über die Aktualisierung von BlueMind über die Befehlszeile finden Sie auf der entsprechenden Seite Update von BlueMind.

Verwaltung von SSL-Zertifikaten

Das Hinzufügen und Erneuern von SSL-Zertifikaten für eine bestimmte Domäne oder für das gesamte System kann auf zwei Arten erfolgen:

  • indem sie via Let's Encrypt erstellt werden
  • indem Sie die Dateien direkt importieren

Nützliche Befehle

bm-cli certificate file-cert --ca=certificate_authority.pem --cert=cert.pem --key=private_key.pem --domain=<domain>
bm-cli certificate manage-lets-encrypt --contact=no-reply@<default-domain> --domain=<domain>

Verwendung von Let's Encrypt.

Es ist möglich, Let's Encrypt zu verwenden, um ein Zertifikat für eine bestimmte Domain oder für das globale System zu erstellen.

Aktivierung

Um ein erstes Zertifikat mit Let's Encrypt zu generieren, muss der folgende Befehl ausgeführt werden:

bm-cli certificate manage-lets-encrypt --contact=no-reply@"default-domain" --domain="bluemind.loc".
  • --contact : ermöglicht das Hinzufügen einer E-Mail-Adresse, über die Sie benachrichtigt werden, wenn das Zertifikat abläuft. Wenn keine Adresse angegeben ist, wird die Adresse no-reply@"default-domain" verwendet (Voraussetzung: die Default-Domain muss vorher festgelegt werden).
  • --domain : Standardmäßig global.virt, wenn keine Domain angegeben ist

Erneuerung

Wenn die Domain bereits über ein von Let's Encrypt generiertes Zertifikat verfügt, kann dieses durch Ausführen des folgenden Befehls aktualisiert werden:

bm-cli certificate manage-lets-encrypt --contact=no-reply@"default-domain" --domain="bluemind.loc".
  • --contact : ermöglicht das Ändern der E-Mail-Adresse, falls erforderlich, andernfalls wird die zuvor angegebene Adresse beibehalten.
  • --domain : Standardmäßig global.virt, wenn keine Domain angegeben ist

Manueller Import

Sie können ein SSL-Zertifikat auch manuell importieren, indem Sie die drei erforderlichen Dateien mit dem folgenden Befehl hinzufügen:

bm-cli certificate file-cert --ca=certificate_authority.pem --cert=cert.pem --key=private_key.pem --domain="bluemind.loc".
  • --domain : Standardmäßig global.virt, wenn keine Domain angegeben ist