Slack Personal Backup

Wenn Ihr aus Gründen Eure Slack-Kommunikation der letzten Stunden, Tage, Wochen, … sichern wollt gibt es grundsätzlich diverse Möglichkeiten:

  1. Screenshots
  2. Copy & Paste
  3. Einsatz eines kommerziellen Tools
  4. Einsatz von Open Source Tools

Punkt 1 und 2 muss ich wahrscheinlich nicht erklären, Punkt 3 und 4 dann schon.

Beide von mir getesteten Varianten haben die folgenden Slack-Nachrichten gesichert:

  1. private Nachrichten (DMs) (1:1)
  2. private Nachrichten mit mehreren Personen
  3. Nachrichten aus privaten Channels, in denen man Member ist
  4. Nachrichten aus öffentlichen Channels

D.h. es gibt _keine_ Möglichkeit an Daten heranzukommen, die man nicht auch als einfacher Member von Slack sehen würde.

Beide Tools unterstützen die Anmeldung per SSO (z.B. vorname.nachname@firma.ag)

Einsatz eines kommerziellen Tools

Beim Googlen zum Backup von Slack-Nachrichten stößt man™ unweigerlich auf das Tool Backupery.
Es läuft unter Windows und kostet in der kleinsten Version irgendwas zwischen $34 und $49 (seltsamerweise bekomme ich unter Windows aktuell den Preis von $49,- angezeigt auf dem Mac $34)

Es gibt auch noch eine Cloud/Web-Variante, die ich aber nicht ausprobiert habe, weil dafür eine App in den Slack-Workspace installiert wird. Unklar ob das eine gute Option ist.
Der Preis ist auf jeden Fall deutlich interessanter (ca. $4 pro Monat), aber ich habe die Details nicht recherchiert.

Die Installation und der Trial haben recht gut funktioniert, allerdings werden (wenn man nicht bezahlt) nur 200 Nachrichten aus den jeweiligen Channels angezeigt (s.u.)

Zur Anzeige kann man das gleiche Tool verwenden, allerdings ist die Darstellung etwas „einfach“

Bei meinen ersten Tests wurden keine Attachments gesichert, allerdings war der komplette Chatverlauf (mindestens die 200 Nachrichten) vorhanden.

Installation und Benutzung eines/mehrerer Open Source Tools

Der komplette Chatverlauf (Einschränkungen s.o.) kann auch z.B. mit dem Tool

slackdump

heruntergeladen werden.
Slackdump erzeugt dabei die gleiche Datenstruktur wie auch „Backupery“ oder auch der Standard-Slack-Exporter (für dessen Benutzung man aber Admin des Workspaces sein muss).

Die Installation von slackdump ist nicht ganz trivial, hier aber dennoch für MacOS beschrieben:
Download der aktuellen Variante von https://github.com/rusq/slackdump/releases/
(für einen ARM-Mac z.B.)

cd ~/Downloads
mkdir slackdump-prog
cd slackdump-prog
wget https://github.com/rusq/slackdump/releases/download/v2.5.4/slackdump_macOS_arm64.tar.gz
tar xzvf slackdump_macOS_arm64.tar.gz
chmod 755 ./slackdump
./slackdump -w freeme -export freeme-dump -dump-from "2022-09-15T09:00:00"

Obige Kommandos installieren „slackdump“ in das Verzeichnis ~/Downloads/slackdump-prog und exportieren dann den Workspace freeme in das Verzeichnis „freeme-dump“.
Dabei kann man über „-dump-from “ noch einstellen, ab wann der Export stattfinden soll.
Weitere Optionen finden sich unter „./slackdump -h“.

Für die Autorisierung per SSO lädt die Shell ggf. noch irgendeine Chromium-Variante herunter…
Nach wenigen Stunden (ja, leider) steht dann im Verzeichnis „freeme-dump“ der komplette Dump der entsprechenden Channels zur Verfügung.
Aber halt: Das sind ja JSON-Dateien…

Hier kommt jetzt

slack-export-viewer

ins Spiel.

Zu finden auf Github.
Die Installation hat bei mir mit

brew install pipx
pipx install slack-export-viewer

geklappt.

Danach konnte ich das Tool über

slack-export-viewer -I 127.0.0.1 -z ~/Downloads/slackdump-prog/freeme-dump

aufrufen.
Ein Browser öffnet sich und das „Herumstöbern“ wie unter Slack funktioniert.