soupBackup.java (a backup solution for soup.io)

A backup solution to complete the cycle

After I explained that soup.io could be used to mirror (backup) a tumblr account here http://alashazam.blogspot.com/2014/11/tumblr-backup-solution.html
The idea to backup a soup.io account started to be a logical step.
After some research I found some - but none of them worked (mostly because they required additional libraries I could never found, or because there were obsolete or simply too old)

The existing solutions

Here they are : Soup.io Export Tools
soup official post -- have seen various laments about this not working, so. probably not working.

This is the official way to export (backup) your soup account and the result is a huge (depending on your account - mine was like 2.3MB) rss file - which is in fact an xml file - where all the posts are stored, except for the medias (pictures mostly)

backup script by @neingeist
A shell script (which requires xsltproc installed) - the author says on his github page that it doesn't work - pass

lua script by @severak
need lua (and some libraries like "parsers.dkjson" and "socket.http" which I could never found) - pass

soupIO downloader by @falk
This one was interesting but same requires additional libraries - "fs", "lazy", "async" and "http" couldn't find most of them - pass

download tool by @moebius
rar file not found - resulting in an error

backup to wordpress by @tiefpunkt
Not wanted to install a wordpress, on top of a tumblr, on top of a soup ... maybe I'll try one day .. just for fun.

A new backup solution in java


The idea was to start from the official export tools - generate the rss file then use that file to backup all the medias (store in the xml in the tag named "enclosure")
the java source is just doing that - it reads the rss file, look for the tag name, then start a download for each instance and that's it.

Where is the source : https://bitbucket.org/ever3st/soupbackup

Usage is simple : after downloading the soupBackup.java you can compile it on your machine with "javac soupBackup.java" or you can download that file from the bitbucket repository - or use the soupBackup.jar.
read the readme file for more details.

$ java soupBackup your-rss-file.rss
or
$ java -jar soupBackup.jar your-rss-file.rss

And then you will have to wait for all the files to be downloaded, which I repeat might take some time.

I've tested this program on my own soup.io account - and with small subset of that rss file.

The pro : it works,I've tested it this week, doesn't requires weird library - and java is pretty common - so feel free to change the code for your needs.
One of the cool upgrade that might be done, would be to add a filechooser to select the rss file, then ask for backup after a certain date (that would allow to use this backup solution from times to times to catch up on the new posts).

The cons : be careful it is an early version and might contains some bugs.

No comments:

Post a Comment

Related Posts with Thumbnails