Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

Sv translation
languageen
Remarque

This page is no longer being updated. From BlueMind 4.8, please refer to the new BlueMind documentation

Introduction

The CLI (Command Line Interface) client is used to perform BlueMind administration tasks in command line without having to create scripts.

When coupled with the bm-tick monitoring system, it can be used, among others, to manage it.

Installation

The bm-cli client is installed by default with BlueMind 4.

There is an additional component for Outlook MAPI which is optional and can be installed using the corresponding package:

Bloc de code
$ aptitude install bm-plugin-cli-mapi
Info

No restart is required, the commands can be used immediately.

Volet
borderWidth3

On this page:

Sommaire
maxLevel2

Related:

Using the client

Commands

Commands are passed using a terminal straight onto the server, connected via ssh for instance.

For example, the command below can help you find a user's address books:

Bloc de code
root@mail:~# 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"}

Getting help

Remarque

Commands are improved with every version of BlueMind. You may have more (or fewer) commands depending on your installation version.

Make sure you use "bm-cli help" to find out which commands are available.

For example:

Bloc de code
# bm-cli help
usage: bm-cli <command> [<args>]

The most commonly used bm-cli commands are:
    calendar      calendar task(s)
    contact       contact task(s)
    help          Display help information
    maintenance   maintenance task(s)
    tick          tick task(s)
    user          user task(s)

See 'bm-cli help <command>' for more information on a specific command.

In this installation – version 3.5.11 – you have calendar, contact and user commands which didn't exist in previous versions.

You can get help on a command, sub-command, how to use it and its options using "help" at any time.

E.g. "help maintenance" shows the maintenance command and the actions it can be used to perform:

Bloc de code
# bm-cli help maintenance
NAME
        bm-cli maintenance - maintenance task(s)

SYNOPSIS
        bm-cli maintenance
        bm-cli maintenance consolidateIndex [--workers <workers>]
        bm-cli maintenance list [--workers <workers>]
        bm-cli maintenance repair [--dry] [--workers <workers>]

COMMANDS
        With no arguments, List directory entries

        list
            List directory entries
...

For more details about a sub-command, type it to get help, e.g. about index consolidation:

Bloc de code
# bm-cli help maintenance consolidateIndex
NAME
        bm-cli maintenance consolidateIndex - Consolidate a mailbox index

SYNOPSIS
        bm-cli maintenance consolidateIndex [--workers <workers>] [--] <target>

OPTIONS
        --workers <workers>
            run with X workers
...
Info

BlueMind 4.4 supports the --help option – you can now get help by adding this option after a command:

Bloc de code
~# bm-cli maintenance --help
Usage: bm-cli maintenance [-hV] [COMMAND]
  -h, --help      Show this help message and exit.
  -V, --version   Print version information and exit.
Commands:
  help                 Displays help information about the specified command
  generate-completion  Generate bash/zsh completion script for bm-cli
  consolidateIndex     Consolidate a mailbox index
  hsm-to-cyrus         Converts HSM snappy spool to a cyrus maildir folder
  list                 List directory entries
  repair               Run repair maintenance operation
  ops                  List available maintenance operations
Exit Codes:
   0   Successful program execution.
   1   Internal software error: an exception occurred when invoking the
         business logic of this command.
  51   Usage error: user input for the command was incorrect, e.g., the wrong
         number of arguments, a bad flag, a bad syntax in a parameter, etc.


Practical examples

Administration & Maintenance

Performing a domain-wide check&repair 

The following command is used to perform a "check and repair" operation on all domain users using 4 threads:

Bloc de code
bm-cli maintenance repair domain.net --workers 4

Changing the admin0 password

For multiple reasons – technical or practical, e.g. in case it is lost -- you may need to change the admin0 user's password without logging into BlueMind.

The following command allows you to do this without knowing the old password:

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

Updating Tick configuration

When the Bm-Tick monitoring tool is installed, you can use it to perform administration tasks. E.g. you can roll out its configuration on all domain servers again using the following command:

Bloc de code
# bm-cli tick reconfigure
Astuce

Add --dry to test the command: the operation is merely simulated.

Bloc de code
# bm-cli tick reconfigure --dry

Updating BlueMind

From BlueMind 4.1, if your subscription includes it, BlueMind can be updated in command line, without running the browser-based wizard:

Tabs group
borderall-sides
navcolornavy
Debian/UbuntuRedhat/CentOS

Operations on users

Deleting archived (suspended) domain users

Commands can be coupled to perform several operations at once. 

E.g. the command below is used to look for the email addresses of suspended users:

Bloc de code
bm-cli user get domain.net --archived --display "email"

You can then couple this command with a "delete" command to remove all the users it returns:

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

Operations on calendars

Sharing all user calendars with one user

It may be useful for one user to have access privileges on all user calendars without being given an administrator role (e.g. a secretary might be able to view/create events for all other employees). To avoid having to go through each user's page to enable sharing, this can be done in command line.

This cannot be done with a single command, but you can create a loop which picks up all domain users and enables sharing for each of them:

Bloc de code
bm-cli users get domain.net > /tmp/allUser.domain.net
while read account; do bm-cli calendar share $account « default » toto@domain.net r;done < /tmp/allUser.domain.net

Operations on contacts

The procedure below can be used to clean a user's collected address book and transfer their contacts to their personal address book (and testing the import process beforehand):

Bloc de code
root@mail:~# 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"}
root@mail:~# bm-cli contact deduplicate jdoe@bluemind.loc --addressbook-uid book:CollectedContacts_05E25C2C-3643-4ED2-997C-4A4F39933D18
2 were removed out of 35
root@mail:~# 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
root@mail:~# 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
root@mail:~# 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
root@mail:~# 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
Sv translation
languagede
Remarque

Diese Seite ist nicht mehr aktuell. Ab der Version BlueMind 4.8 finden Sie alle Infos in der neuen Dokumentation

Präsentation

Mit dem CLI-Client ("Command Line Interface" = Kommandozeilen-Schnittstelle) können Sie Aufgaben zur Administration der BlueMind-Plattform direkt über die Befehlszeile ausfü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.

Installation

Der bm-cli Client ist standardmäßig in BlueMind 4 installiert.

Eine zusätzliche Komponente für die mapi-Administrationsoperationen für Outlook ist optional und kann durch Installation des entsprechenden Pakets installiert werden:

Bloc de code
$ aptitude install bm-plugin-cli-mapi
Info

Es ist kein Neustart des Dienstes erforderlich, die Befehle können direkt verwendet werden

Volet
borderWidth3

Auf dieser Seite:

Sommaire
maxLevel2

Verwandt:

Funktionsweise

Die Befehle

Befehle werden über ein Terminal direkt auf dem Server platziert, der z.B. per ssh verbunden ist.

Zum Beispiel ein Befehl, um die Adressbücher eines Benutzers zu kennen:

Bloc de code
root@mail:~# 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"}

Hilfe erhalten

Remarque

Die Befehle werden mit neuen BlueMind-Versionen erweitert. Je nach Version Ihrer Installation können Sie mehr (oder weniger) Befehle haben.

Verwenden Sie den Befehl "bm-cli help", um herauszufinden, welche Sie verwenden können.

Zum Beispiel:

Bloc de code
# bm-cli help
usage: bm-cli <command> [<args>]

The most commonly used bm-cli commands are:
    calendar      calendar task(s)
    contact       contact task(s)
    help          Display help information
    maintenance   maintenance task(s)
    tick          tick task(s)
    user          user task(s)

See 'bm-cli help <command>' for more information on a specific command.

Die Installation, hier in 3.5.11, umfasst die Befehle calendar, contact und user, die in früheren Versionen nicht vorhanden waren.

Sie können jederzeit mit "help" Hilfe zu einem Befehl, Unterbefehl, dessen Verwendung und Optionen erhalten.

Zum Beispiel stellt "help maintenance" den Wartungsbefehl und seine verschiedenen möglichen Aktionen vor:

Bloc de code
# bm-cli help maintenance
NAME
        bm-cli maintenance - maintenance task(s)

SYNOPSIS
        bm-cli maintenance
        bm-cli maintenance consolidateIndex [--workers <workers>]
        bm-cli maintenance list [--workers <workers>]
        bm-cli maintenance repair [--dry] [--workers <workers>]

COMMANDS
        With no arguments, List directory entries

        list
            List directory entries
...

Um weitere Details zu einem Unterbefehl zu erhalten, geben Sie einfach den Unterbefehl ein, hier für die Hilfe zum Vorgang der Indexkonsolidierung:

Bloc de code
# bm-cli help maintenance consolidateIndex
NAME
        bm-cli maintenance consolidateIndex - Consolidate a mailbox index

SYNOPSIS
        bm-cli maintenance consolidateIndex [--workers <workers>] [--] <target>

OPTIONS
        --workers <workers>
            run with X workers
...
Info

BlueMind 4.4 unterstützt die Option --help. Es ist nun möglich, Hilfe zu erhalten, indem diese Option hinter einem Befehl hinzugefügt wird:

Bloc de code
~# bm-cli maintenance --help
Usage: bm-cli maintenance [-hV] [COMMAND]
  -h, --help      Show this help message and exit.
  -V, --version   Print version information and exit.
Commands:
  help                 Displays help information about the specified command
  generate-completion  Generate bash/zsh completion script for bm-cli.
  consolidateIndex     Consolidate a mailbox index
  hsm-to-cyrus         Converts HSM snappy spool to a cyrus maildir folder
  list                 List directory entries
  repair               Run repair maintenance operation
  ops                  List available maintenance operations
Exit Codes:
   0   Successful program execution
   1   Internal software error: an exception occurred when invoking the
         business logic of this command.
  51   Usage error: user input for the command was incorrect, e.g., the wrong
         number of arguments, a bad flag, a bad syntax in a parameter, etc.

Konkrete Beispiele

Verwaltung und Wartung

Ein globales check&repair durchführen

Mit dem folgenden Befehl kann die Operation "Validieren und Reparieren" für alle Domain-Benutzer mit 4 Threads durchgeführt werden:

Bloc de code
bm-cli maintenance repair domain.net --workers 4

Passwort admin0 ändern

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.

Der folgende Befehl ermöglicht dies, ohne das alte Passwort zu kennen:

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

Tick-Konfiguration aktualisieren

Wenn das Bm-Tick Monitoringtool installiert ist, können Verwaltungsaufgaben ausgeführt werden. So ist es möglich, die Konfiguration mit dem folgenden Befehl auf alle Server in der Domain neu zu verteilen:

Bloc de code
# bm-cli tick reconfigure
Astuce

Die Option --dry wird zum Testen des Befehls verwendet: Der Vorgang wird nur simuliert

Bloc de code
# bm-cli tick reconfigure --dry

Update von BlueMind

Ab BlueMind 4.1 kann das BlueMind-Aktualisierung, sofern das Abonnement dies zulässt, komplett über die Kommandozeile durchgeführt werden, ohne den Assistenten über den Browser auszuführen:

Tabs group
borderall-sides
navcolornavy
Debian/UbuntuRedhat/CentOS

Benutzerverwaltung

Archivierte (suspendierte) Benutzer aus der Domain entfernen

Die Befehle können miteinander verbunden werden, um mehrere Vorgänge gleichzeitig auszuführen.

Mit dem folgenden Befehl können Sie z.B. nach den E-Mail-Adressen von gesperrten Benutzern suchen:

Bloc de code
bm-cli user get domain.net --archived --display "email"

Es ist dann möglich, die Rückgabe dieses Befehls mit einem "delete"-Befehl zu koppeln, um die zurückgegebenen Benutzer zu löschen:

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

Kalenderoperationen

Freigabe von Kalendern von allen Benutzern für einen Benutzer

Es kann sinnvoll sein, dass ein Benutzer Zugriffsrechte auf die Kalender aller anderen Benutzer hat, ohne als Administrator ausgewiesen zu sein (z.B. ein Assistent, die in der Lage sein muss, Termine für alle Mitarbeitenden anzuzeigen/zu erstellen). Um zu vermeiden, zur Aktivierung einer Freigabe mühsam alle Benutzeradministration-Dateien einzeln durchzugehen, kann dies über die Kommandozeile erfolgen.

Dieser Vorgang ist nicht mit einem einzelnen Befehl durchführbar, aber es ist möglich, eine Schleife zu erstellen, die alle Benutzer der Domain abruft und dann für jeden von ihnen eine Freigabe aktiviert:

Bloc de code
bm-cli users get domain.net > /tmp/allUser.domain.net
while read account; do bm-cli calendar share $account « default » toto@domain.net r;done < /tmp/allUser.domain.net

Aktionen in Bezug auf die Kontakte

Beispiel eines Verfahrens, um das Adressbuch von den gesammelten Adressen eines Benutzers zu bereinigen und diese Kontakte in sein persönliches Adressbuch zu übertragen (durch vorheriges Testen des Imports):

Bloc de code
root@mail:~# 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"}
root@mail:~# bm-cli contact deduplicate jdoe@bluemind.loc --addressbook-uid book:CollectedContacts_05E25C2C-3643-4ED2-997C-4A4F39933D18
2 were removed out of 35
root@mail:~# 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
root@mail:~# 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
root@mail:~# 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
root@mail:~# 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

Wartung

Das Tool bm-cli ermöglicht die Durchführung von Wartungsvorgängen an Benutzern, wie z. B.:

Bloc de code
bm-cli maintenance repair user@domain.net			#réparer l'utilisateur user@domain.net
bm-cli maintenance repair domain.net --numworkers 4	#réparer l'ensemble des utilisateurs du domaine en utilisant 4 threads
bm-cli maintenance consolidateIndex user@domain.net	#consolider l'index de l'utilisateur user@domain.net
bm-cli maintenance consolidateIndex domain.net --from 0 --size 100 #traite les 100 premiers utilisateurs retournés
bm-cli maintenance consolidateIndex domain.net --from 101 --size 50 #traite les 50 utilisateurs suivants
bm-cli maintenance consolidateIndex domain.net --match '[a-c].*' # traite les entités commencant par a, b ou c

Ancre
install
install
Installation und Update

Da das Abonnement Zugang zu den automatisierten Updates von BlueMind gewährt, erhalten Sie auch Zugang zu zusätzlichen bm-cli Client-Operationen für diese.

Avertissement

Da diese Vorgänge sensibel und riskant sind, handelt es sich um Befehle, die fortgeschrittenen Administratoren vorbehalten sein müssen.

Um diese Befehle zu verwenden, muss das entsprechende Plugin installiert werden:

Bloc de code
apt install bm-plugin-cli-setup

Befehle

Der zusätzliche Befehl "setup" ist verfügbar, sobald das Plugin installiert ist:

Bloc de code
bm-cli help setup	#obtenir de l'aide sur les arguments disponibles et leur utilisation
bm-cli setup install --external-url bluemind.domain.net --domain domain.net --sw-pass Passw0rd
bm-cli setup install --external-url bluemind.domain.net --domain domain.net --sw-pass Passw0rd --set-contact admin@domain.net --reinstall
bm-cli setup upgrade #lance la procédure de mise à jour post-installation en lieu et place du déroulement de l'url https://<domain.net>/setup via un navigateur
  • --external-url : externe url von BlueMind
  • --domain: Domain
  • --contact-set: ermöglicht das Festlegen der Standard-E-Mail-Adresse für Benachrichtigungen über den Ablauf von Abonnements
  • --sw-pass: ermöglicht das Festlegen des Admin-Passworts für den Setupwizard

Update-Verfahren

Um die Installation in der Kommandozeile mit dem Tool bm-cli zu aktualisieren, ist die Vorgehensweise die gleiche wie bei einem herkömmlicher Aktualisierung:

  1. Vorbereitung der Aktualisierung:
    Hinweis: Dieser Befehl ist ab der Version 3.5.14 verfügbar
    Mit dem Befehl "bm-cli setup" wird die Version eingestellt, auf die Sie aktualisieren möchten.
    • Geben Sie den folgenden Befehl ein, um auf die neueste verfügbare Version zu aktualisieren:

      Bloc de code
      bm-cli setup version latest
    • Um auf eine bestimmte Version zu aktualisieren, übertragen Sie die Versionsnummer als Parameter:

      Bloc de code
      bm-cli setup version 3.5.14-2

      Hinweis: Die Verwendung der Hauptversionsnummer (z. B. "3.5" oder "4") hat die gleichen Auswirkungen wie die Option "latest": Es wird die letzte verfügbare Nebenversion installiert

    • Um die Version zu sperren und Upgrades auf eine höhere Version zu verhindern:

      Bloc de code
      bm-cli setup version current
  2. Update von Paketen:

    Remarque

    Wenn Sie die Ausfallzeit begrenzen möchten, können Sie den Update-Befehl mit der Option "nur-download" erteilen, um das gesamte Paket zunächst nur herunterzuladen.

    Da diese Aktion keine Unterbrechung oder Verlangsamung der Dienste verursacht, kann sie zu jeder Tages- und Nachtzeit durchgeführt werden.

    Der Befehl "Aktualisierung " zur tatsächlichen Aktualisierung der Pakete kann später zum günstigsten Zeitpunkt ausgeführt werden, was zu einer kürzeren Dienstunterbrechung führt.

    Tabs group
    borderall-sides
    navcolornavy
    Debian/UbuntuRedhat/CentOS
  3. Aktualisierung-Vorgang starten:

    Bloc de code
    bm-cli setup upgrade