kerravonsen: Simon Illyan: "It's nearly a prosthetic memory, Miles. I'm thinking of chaining it to my belt." (prosthetic-memory)
[personal profile] kerravonsen
Of late, I've been looking for alternatives to DropBox for automatic file syncing across multiple computers; for syncing between my laptops and my desktops (yes, I am a geek: I have four computers(*))
I didn't even bother trying out DropBox, because I don't want to put my data in the hands of a third party, not when I could run a server myself. It's not even primarily whether I can trust the third party, though that is a factor. It's that third parties tend to vanish, and there goes one's data.

Unison
Unison does a two-way sync between directories on different machines, using SSH.

Con:
- not automatic
- very fussy about versions; the version of Unison on both machines must be exactly the same
- conflict resolution is simplistic
- no version control
Pro:
- can choose on a file-by-file basis which files to copy when using the GUI
- is fine with binary files
- no version control (yes, this is a pro as well, for files where one doesn't need/want a version history, such as music files)
- can run in GUI or command-line

I still use this for syncing my music and images collection, because it's simple, and they don't change frequently. (See below)

Git alone
Git is a distributed VCS (version control system).

Con:
- not automatic
- really need to run it on both machines to get the syncing done
- not good for binary files
Pro:
- command-line
- version control
- good conflict resolution

Nonetheless, I wrote myself a script which does my non-automatic syncing using a combination of Unison and Git. The script grew like topsy, but that's mainly because I have a lot of directories to keep in sync, and it's easier to put all the info in the one script.
The script is also useful for fixing errors in the automatic sync, by making sure that all the git repos are currently up to date.

Git-annex
Git-annex is an add-on to Git that is supposed to solve the problem of large binary files.

Con:
- not automatic
- does not play well with IkiWiki, because IkiWiki ignores all soft links, and git-annex uses soft links for all its files
- the repo tends to get rather big
Pro:
- command-line
- does fine with large binary files
- can sync multiple repos with one command

I just found it a bit too fussy and not worth the fuss. I went back to using Unison for my music collection.




Now for the automatic-sync solutions.

dcvs-autosync
Con:
- not user-friendly
Pro:
- command-line
- git backend

fsniper
Con:
- does not detect file deletions
- solves half the problem; it does the auto-commit, but not the syncing between machines
- need to write scripts for more complex actions
Pro:
- command-line
- very customizable and easy to configure (if you don't mind editing config files)
- one CAN write scripts for more complex actions
- fast

SparkleShare
Con:
- does not have a command-line option, only runs as a GUI
- depends on mono
- latest version became unusable because mono was chewing up 100% CPU all the time
Pro:
- git backend
- user-friendly, easy to install and configure
- immediate commits and updates; uses messaging and notification to broadcast when updates have happened
- falls back to polling when it can't connect
- commit logs that are a bit more informative
- tray icon flashes when things are happening

thin-git
Con:
- does not play well with softlinks; it kept on deleting soft-linked files and replacing them with copies of the original file. WTH?
- only does polling; no instant commits or updates
- GUI for configuring (but I couldn't find out where the config was stored)
- the command-line option doesn't appear to use the same config as the GUI
Pro:
- git backend
- command-line version
- optionally notifies of changes

Gitdocs
Con:
- a bit slow to start up
- commit logs are not very informative
Pro:
- git backend
- command-line
- immediate commits/pushes; pulls are done by polling
- simple to configure

I just started using gitdocs today, but it's looking like a winner.




(*) Though I know some of my geekier friends would say "Huh? Doesn't everyone?"

Date: 2012-09-16 01:00 pm (UTC)
From: [identity profile] reynardo.livejournal.com
(*) Though I know some of my geekier friends would say "Huh? Doesn't everyone?"

Nah. Some of us would say "Is that all?"

*ducks*

*runs*

Date: 2012-09-16 01:01 pm (UTC)
ext_8559: Cartoon me  (Default)
From: [identity profile] the-magician.livejournal.com
I thought that Dropbox actually synced directories between machines, so that while the data goes up to Dropbox, it then comes down to each of your synced machines (phones, PCs etc.) so it's not just a remote drive storing the data, so if Dropbox dropped off the face of the planet, none of my data would be lost ... am I wrong? Am I getting confused with some other product?

"Dropbox is a free service that lets you bring all your photos, docs, and videos anywhere. This means that any file you save to your Dropbox will automatically save to all your computers, phones and even the Dropbox website."

I do like that you can specify folders that are synced to *other people's* computers ... so you can share files with another author by dropping them onto his computer, or photos with your family by dropping them into the shared folder which syncs them onto their machines ... or even just set up an account on a remote machine for offsite backup.

Date: 2012-09-16 02:17 pm (UTC)
ext_8559: Cartoon me  (Default)
From: [identity profile] the-magician.livejournal.com
Grin, ok.

Of course if you take that too far, you end up having to have your own coffee plantation and milk cows ... and electricity generator!

Profile

kerravonsen: (Default)
Kathryn A.

Most Popular Tags

September 2017

S M T W T F S
     12
345678 9
1011121314 1516
17181920212223
24252627282930

Expand Cut Tags

No cut tags

Style Credit

Page generated Sep. 21st, 2017 08:38 am
Powered by Dreamwidth Studios