Automatische Erstellung von Ordner und Freigaben

Übersicht

Dieses Skript wurde entwickelt, um den Prozess der Erstellung von Ordnern und Freigaben innerhalb eines bereits bestehenden Ordners auf polybox zu automatisieren. Es ermöglicht auch das Senden von E-Mail-Benachrichtigungen an Benutzer mit Links zu den freigegebenen Ordnern.

Voraussetzungen

  • Bash-Shell-Umgebung
  • Installiertes Kommandozeilen-Tool curl
  • Zugang zu polybox mit einem gültigen Benutzernamen und Passwort
  • Deaktivierung der 2-Faktor-Authentifizierung von polybox (nur für die Dauer des Skripts)
  • Für Personen, die eine Windows-Umgebung verwenden:

Script verwenden

Das Script zur automatischen Erstellung von Ordner und Freigaben kann hier heruntergeladen werden: polybox_folder_share_creation.sh

Starten des Scripts

Um das Skript zu starten, navigieren Sie zum Verzeichnis, welches das Skript enthält und führen Sie den folgenden Befehl im Terminal aus:

bash polybox_folder_share_creation.sh

Anmeldeinformationen

Wenn Sie dazu aufgefordert werden, geben Sie Ihren polybox-Benutzernamen und Ihr Passwort ein. Die Passworteingabe wird aus Sicherheitsgründen ausgeblendet.

---- Anmeldeinformationen ----
Bitte geben Sie den Benutzernamen ein: example_username
Bitte geben Sie das Passwort ein: ****************

Pfadangabe

Bitte geben Sie den Pfad des Ordners auf Polybox und den lokalen Pfad zu der Datei an, die die Ordnernamen enthält. Optional können in dieser Datei auch die E-Mail-Adressen angegeben werden.

---- Pfadangabe ----
Bitte geben Sie den Pfad des Ordners ein, den Sie auf polybox verwenden möchten: /Beispiel/Pfad/Bis/Ordner
Bitte geben Sie den Pfad zu der Datei ein, die die Ordnernamen (und Emails) enthält: /Beispiel/Pfad/Zu/Datei

Dateiformat der Ordner- und E-Mail-Liste

Die Datei (.txt-Datei), die die Ordnernamen enthält, sollte jeden Ordnernamen in einer neuen Zeile enthalten. Wenn Sie E-Mail-Benachrichtigungen senden möchten, geben Sie die E-Mail-Adresse nach dem Ordnernamen an, getrennt durch ein Semikolon (;). Pro Freigabe ist nur eine E-Mail zulässig. Wenn Sie also E-Mail-Benachrichtigungen versenden möchten, muss die Datei, die die Ordnernamen und E-Mail-Adressen enthält, wie im folgenden Beispiel formatiert werden:

OrdnerName1;email1@example.com
OrdnerName2;email2@example.com

Leerzeichen innerhalb des Ordnernamens sind erlaubt:

Ordner Name1;email1@example.com
Ordner Name2;email2@example.com

Wenn keine E-Mail-Benachrichtigungen gesendet werden sollen, sollte die Datei wie folgt aussehen:

Ordnername1
Ordnername2

Das Semikolon (;) ist der entscheidende Faktor:

  • Semikolon vorhanden = E-Mail-Benachrichtigungen werden gesendet
  • Semikolon nicht vorhanden = Es werden keine E-Mail-Benachrichtigungen verschickt

Stellen Sie also sicher, dass es entweder das eine oder das andere ist. Das Skript lässt einen gemischten Modus nicht zu und bricht den Vorgang ab. Das Skript lässt eine Liste im folgenden Format nicht zu:

Ordnername1;
Ordnername2;

Auch wenn nur eine E-Mail-Adresse fehlt, lässt das Skript sie nicht zu. Das Folgende ist also auch nicht erlaubt:

OrdnerName1;email1@example.com
OrdnerName2;

Und wenn alle E-Mail-Adressen angegeben werden, aber nicht durch ein Semikolon getrennt sind, wird die E-Mail-Adresse als Teil des Ordnernamens behandelt.

Prüfung auf Sonderzeichen

Wenn in der Deklaration des Verzeichnisses, das Sie auf polybox verwenden wollen, Sonderzeichen gefunden werden, bricht das Skript mit einer Fehlermeldung ab. Das Skript prüft automatisch auf Sonderzeichen in Ordnernamen und Pfaden.

Zu den Sonderzeichen, die nicht erlaubt sind, gehören: % * < > ö ü usw.

Einige Sonderzeichen sind erlaubt, diese sind: Leerzeichen, __ (Unterstriche), – (Bindestriche) und die notwendigen / (Schrägstriche).

Ordnerprüfung

Das Skript prüft, ob der angegebene Ordner auf polybox existiert und ob er leer ist. Wenn der Ordner nicht existiert oder nicht leer ist, bricht das Skript mit einer Fehlermeldung ab.

E-Mail Benachrichtigung

Wenn die Liste Semikolons enthält, nimmt das Skript an, dass E-Mail-Benachrichtigungen gesendet werden sollen. Es prüft die E-Mail-Adressen und bricht mit einer Fehlermeldung ab, wenn eine ungültige E-Mail gefunden wird.
Wie bereits erwähnt, ist ein gemischter Modus nicht möglich, d. h. entweder bekommt jeder eine E-Mail oder niemand.

Verfallsdatum

Sie können ein Verfallsdatum für die Shares festlegen, indem Sie auf die entsprechende Aufforderung mit «yes» antworten und das Datum im Format JJJJ-MM-TT eingeben. Ungültige Daten wie der 30. Februar oder Daten, die in der Vergangenheit liegen, sind nicht zulässig.

Do you want to set an expiration date for the shares? (yes/no): yes
Please enter the expiration date in the following format (YYYY-MM-DD): 2025-05-05
(Example Date)

Wenn Sie mit "no" antworten, erhalten die Shares ein unbestimmtes Ablaufdatum.

Erstellung der Ordner und Freigaben

Das Skript erstellt Ordner und Freigaben entsprechend der angegebenen Liste. Wenn E-Mail-Benachrichtigungen aktiviert sind, sendet es die Benachrichtigungen mit den Freigabelinks.

Fertigstellung

Nach erfolgreicher Fertigstellung gibt das Skript die Namen der erstellten Ordner und Freigaben aus, zusammen mit dem Status der E-Mail-Benachrichtigungen, falls vorhanden. Sie erhalten außerdem die URLs für die Freigaben, die Sie kopieren und freigeben können.

Mit E-Mail-Benachrichtigungen:

----Created Folders and Shares----
Alex Tom Musterman https://polybox.ethz.ch/index.php/s/Mdi8Ncjz952oMxv | Email: ok
Jeremy Hiegelman https://polybox.ethz.ch/index.php/s/AbjhuaN0je3SYoW | Email: ok
Lerome Liakondre https://polybox.ethz.ch/index.php/s/7o1I6VGdjEzFWEf | Email: ok
Silvia Duarte https://polybox.ethz.ch/index.php/s/AfXXpBMKnc6cfXG | Email: ok
Giorgio Azzariti https://polybox.ethz.ch/index.php/s/BAV449AKQt0z4hW | Email: ok
Taeha Domi https://polybox.ethz.ch/index.php/s/nSdVnb7bQwMg4eO | Email: ok

Ohne E-Mail-Benachrichtigungen:

----Created Folders and Shares----
Alex Tom Musterman https://polybox.ethz.ch/index.php/s/Mdi8Ncjz952oMxv
Jeremy Hiegelman https://polybox.ethz.ch/index.php/s/AbjhuaN0je3SYoW
Lerome Liakondre https://polybox.ethz.ch/index.php/s/7o1I6VGdjEzFWEf
Silvia Duarte https://polybox.ethz.ch/index.php/s/AfXXpBMKnc6cfXG
Giorgio Azzariti https://polybox.ethz.ch/index.php/s/BAV449AKQt0z4hW
Taeha Domi https://polybox.ethz.ch/index.php/s/nSdVnb7bQwMg4eO

Anmerkungen

  • Achten Sie darauf, dass die Datei mit den Ordnernamen und E-Mail-Adressen richtig formatiert ist.
  • Das Skript muss über die erforderlichen Ausführungsberechtigungen verfügen. Möglicherweise müssen Sie die Ausführungsberechtigung mit chmod +x polybox_folder_share_creation.sh festlegen.
  • Das Skript wurde von Gianluca Caratsch und Taha El Isbihani verfasst und zuletzt am 28. Februar 2024 überarbeitet.
  • Bei Problemen oder weiterer Unterstützung, wenden Sie sich bitte an den Service Desk (servicedesk@id.ethz.ch).

Support

Der ID Service Desk ist das Tor zu den Informatikdiensten.

Wir helfen Ihnen gerne weiter.

Neueste Beiträge