GithubHelp home page GithubHelp logo

Comments (7)

gagomes avatar gagomes commented on June 12, 2024 5

Just adding a vote to raise the importance of this issue. Thanks.

from slackdump.

rusq avatar rusq commented on June 12, 2024 1

@raine that is a very elegant solution, thank you for sharing!

from slackdump.

dassio avatar dassio commented on June 12, 2024

I saw that we can do delta backup #193 , but is the zip file is merged into one, I don't want to browser each zip file seperately

from slackdump.

rusq avatar rusq commented on June 12, 2024

Hey @dassio, I'll have to think about this. Updating existing dumps is tricky, as the parser for the export files will need to be implemented (currently - slackdump only writes, and doesn't read/understand the export files). Maybe some time in the future, after the initial incremental dump is implemented.

from slackdump.

rusq avatar rusq commented on June 12, 2024

Possibly duplicate of #205

from slackdump.

dassio avatar dassio commented on June 12, 2024

thanks for the reply, will try if I can chip in. been a while since last time touching golang code

from slackdump.

raine avatar raine commented on June 12, 2024

My quick and dirty solution to get incremental history for a channel in a free slack:

  1. Have a git repo to store history

  2. Run slackdump -download -export . -export-type standard "$channel" to get export for the channel

    In this export format, each day gets its own JSON file:

    some_channel
    ├── 2022-08-01.json
    ├── 2022-08-02.json
    ├── 2022-08-03.json
    ├── 2022-08-04.json
    ├── 2022-08-05.json
    ...
    
  3. As you run this for example daily, you can keep committing the new changes, but there's a gotcha. The older JSON files available in the current 3 month history window can get some weird changes. For example I've seen messages from the oldest files get removed entirely when running the export. For this reason, I figured it's best to stage and commit changes only for the last 7 days:

    for num in $(seq 0 7); do
        git add "**/$(date -j -v -"$num"d '+%Y-%m-%d'.json)" || true
    done
    git add ./**/attachments
    git add channels.json users.json
    
    # Rest of the changes can be disregarded
    git restore -- **/*.json
  4. Now you can visualize the history with slack-export-viewer:

    slack-export-viewer -z .
  5. I used launchd to automate daily backup.

from slackdump.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.