Seafile Script: Tools in „seafile/bin“ ausführen

Seafile stellt nach der Installation einige Helfer bereit, die im Laufe der Benutzung administrative Aufgaben vereinfachen sollen:
ccnet-init, ccnet-server, httpserver, seaf-fsck, seaf-fuse, seafile-controller, seaf-migrate,
seaf-server, seaf-server-init, seafserv-gc, seafserv-tool

Mit den Debian/Ubuntu-eigenen Bibliotheken, möchten diese jedoch nicht zusammenarbeiten:

./seafserv-tool: error while loading shared libraries: libccnet.so.0: cannot open shared object file: No such file or directory
Auf keinen Fall darf ein symbolischer Link zu den Bibliotheken in ein vom System benutztes Verzeichnis erstellt werden!

Einige Programme der Linux Installation stünden im Versionskonflikt mit den von Seafile verwendeten Bibliotheken.
Es ist ausreichend und sicher, die Anwendung mit einem vorhergehenden „LD_LIBRARY_PATH“ aufzurufen, womit der Pfad zu den Bibliotheken einmalig individuell bestimmt wird.

Hierzu habe ich ein kleines Script geschrieben, das diese Aufgabe übernimmt

Zur Konfiguration gehört nur ein Parameter „SEAFILE_MANUAL_PATH“. Bleibt dieser wie im Script leer, so versucht das Script den Pfad automatisch zu erkennen.
Wurde der Seafile-Server nach der Struktur meines Artikels aufgebaut, lautete der korrekte Pfad „/srv/seafile/servername“. Dieses Verzeichnis muss die Ordner „ccnet“ sowie „seafile-data“ beeinhalten.

#!/bin/bash
if [ $# -lt 1 ]; then
        echo -e "\e[00;31mMissing argument\e[00m"
        echo -e "Valid arguments are\n\e[00;32mccnet-init  ccnet-server  httpserver seaf-fsck\nseaf-fuse  seafile-controller  seaf-migrate\nseaf-server  seaf-server-init  seafserv-gc  seafserv-tool\e[00m"
        exit 1
fi

### CONFIG START ###

# Path containing 'ccnet' and 'seafile-data' directories
# Leave empty to try autodetection
SEAFILE_MANUAL_PATH=

#### CONFIG END ####

if [ -z $SEAFILE_MANUAL_PATH ]; then
        SEAFILEPATH=$(dirname `locate seafile-server-latest`)
else
        SEAFILEPATH=$SEAFILE_MANUAL_PATH
fi

LD_LIBRARY_PATH=$SEAFILEPATH/seafile-server-latest/seafile/lib $SEAFILEPATH/seafile-server-latest/seafile/bin/$1 $2 $3 $4 $5 $6 $7

Usage: ./script.sh
Vorab als ausführbar markieren: chmod +x script.sh

Ein Beispiel im Einsatz:

Seafile Script
Seafile Script

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.