When Dropbox changed their Terms of Service, I looked into other backup/sync clients and found Spideroak. I like it. It’s a slightly more complicated user interface than Dropbox but it offers a lot more flexibility and better security. I use it for backing up my data and particularly, synchronizing my KeePass password database across multiple computers.
The other day I tried to make use of Spideroak’s Share Room feature and found the program acting strangely. For example, I would click on the Shares tab and the tab would indicate it changed but the main window would never redraw to show the information I wanted. After closing, reopening, restarting, opening the tab through the system tray context menu, or just simply waiting long enough, I might finally get into the Share tab. There I was presented with the right interface but it did not respond to my clicks. Clicking the ‘New’ button to create my first shareroom did nothing. It just laughed at me.
That’s when I headed into the command line version of the software. Closing Spideroak through the System Tray, I opened the Command Prompt. If you navigate your way to the Spideroak folder, you can find out what commands are available.
CD “Program FilesSpiderOak”
The available parameters are listed at the bottom of this article.
The command line gave me options to create a share directly, list shares, and delete them. I tried listing the shares but got no return, which makes sense since I wasn’t able to create a share. I tried creating a share through the command line but it just wasn’t behaving correctly. I saw no difference when I went into the GUI, still unable to reliably open the Share tab.
I then ran two commands from the Maintenance section:
Spideroak.exe –vacuum (cleans up the local database), and
Just the vacuum command did not fix the problem. After running the repair on my Spideroak install, everything was working great again when I opened the GUI. No data was lost in the process but the Share tab now opened reliably and I was able to create and edit sharerooms without a problem.
It took me some time to get this resolved but I’m able to enjoy the full functionality of Spideroak now. I am just documenting the problem and solution in case anybody else out there runs into this or it reoccurs for me later.
SpiderOak basic command line usage:
–version show program’s version number and exit
-h, –help show this help message and exit
-v, –verbose be verbose: show detailed status information as it
–redirect=FILE Redirect console output to file
-d NUMBER, –device=NUMBER
operate on specified device id (default is the local
-o DIR, –output=DIR Target dir to restore items to (default is normal
–enable-schedule honor the set activity schedule, even in batchmode
(normally the schedule is ignored in batchmode)
–disable-schedule disable activity scheduling
Operational Modes and Commands:
scan the filesystem for changes and report a summary
scan the filesystem, and build all possible file
system changes as shelved upload transactions, and
exit without uploading them
–sync like batchmode, but only backup/update synced folders
–backup=TARGET ad hoc operation: backup whatever exists at TARGET in
the filesystem and exit (ignores existing backup
–restore=item Restore a folder, file, or version.
Run “–restore help” for more info
–batchmode like headless, but will exit when all available work
–headless run in headless mode (without the graphical interface)
–merge merge and restore the contents of multiple paths from
arbitrary devices: dev1:path1 .. devN:pathN
–purge=item purge a folder, file (including historical versions)
Show user and device info
Show information about each shelved upload transaction
–space Show space usage information by category and by device
–tree Show the hierarchy of stored backup folders
–fulllist Show all folders and files stored on device
–tree-changelog Show a log of how the hierarchy of stored backup
folders has changed over time
Show the changelog of a given folder
Backup Selection Manipulation Commands:
–force Do in/exclusion even if the path doesn’t exist
Show a list of selected and excluded backup items
–reset-selection Reset selection (but preserve excluded files)
Exclude the given file from the selection
Exclude the given directory from the selection
Exclude the given file from the selection
rebuild the SpiderOak reference database (can take
–billing print a secure web auto-login URL for billing info
destroy each shelved upload transaction already in
–repair repair a local SpiderOak installation
purge historical versions of a folder, file:
“all”: purge all historical versions of all files; ‘
“hM,dN,w”: hourly for last M hours, daily for last N
days, weekly thereafter (also accepts
(m)onthly and (y)early); ‘ no option: hourly for
last 24 hours, daily for last month, then weekly
purge deleted items older than N days
–vacuum Vacuum SpiderOak’s local database (rebuilds indexs and
reclaims local disk space)
list parent_id’s of unreferenced external block files
convert SpiderOak’s local database to use external
generate missing image previews for the local device
Caution: Do not use these commands unless advised by SpiderOak
support. They can damage your installation if used improperly.
apply all transactions previously received from remote
devices — (not intended for general use — this
normally happens automatically)
purge all deleted items on the current device
–orphans=ACTION help, find, free orphans
Read a json definition file and use contents to create
a new account
–setup=SETUP_FILE Read a json definition file and use contents to create
a new account. See https://spideroak.com/faq/how_do_i_
set_up_a_new_user_from_the_commandline for more info.
–list-shares List shares
Create an xact with a new share. run ‘help’ for
Create an xact deleting a share