bitpocket: Your in-house drop box

I have three i686 machines at the moment, all three of which are running Arch. One acts as a wireless relay to the other two (thanks, create_ap), and shares its wired connection with the two others.

It also is set up to sync itself against the Arch repositories once a day, and then I manually rsync between the other two and share the downloaded updates. This saves me the drag of triple-updating machines, since my in-house wireless connection is considerably faster than the wired line.

Anything leftover or specific to one piece of hardware — like video drivers — gets downloaded normally, when a specific machine does its update.

I do end up doing some double-back synchronization, from satellite computers to the central hub. That’s more of an insurance measure or to make backups of individual packages that were downloaded to specific machines.

All that rsyncing back and forth relies on sshd of course, and it gets a little tedious having to re-enter passwords on every rsync, but I don’t know if there’s anything to be done about that. It’s the nature of the beast.

I thought perhaps working a little bit with bitpocket might give me some ideas, since bitpocket is intended as a do-it-yourself Dropbox-style network storage tool, built upon the mighty rsync.

2014-11-07-2sjx281-bitpocket

It did and it didn’t. bitpocket runs into much the same issue as I had, where I needed to supply a password four times — actually five — to get the proper access across the network and update the master folder on the central machine.

I don’t hold that out as a fault of bitpocket though, since whatever setting or configuration I’m after to solve my own problem isn’t bitpocket’s responsibility. I shall pursue that independently.

bitpocket itself is rather useful, and very easy to set up. Supply a proper folder and identity for your server machine, create a folder for a corresponding copy on the client, and just call bitpocket from that folder. bitpocket can check for updates, synchronize new files, delete old ones and generally handle everything as it should be done.

bitpocket has some other features that are nifty, such as the ability to tell you what will be updated (in other words, what changes exist since the last sync) and delete protection, where it moves “deleted” files into a hidden folder, in case you make a mistake.

If you already do fairly regular rsyncs against a master machine, or if you just want to streamline the process of keeping work folders up to date, I can see where bitpocket might improve upon a long chain of rsync commands.

In my case, I really need to find out how to authenticate rsync without being prompted each time, and follow through with that. (Edit: I figured it out, thanks. I just needed to generate an id_rsa.pub key, and move it over to the server. 😉 )

5 thoughts on “bitpocket: Your in-house drop box

  1. blinkmemory

    Did you test or see any indication of bitpocket’s capabilities when you are trying to keep two client machines synced? The situation I tend to have is that I make changes in a machine A and forget to sync to the server and then make changes in a machine B. The problem with this is that then there is no way to rsync to the server without overwriding the changes in the other machine. The only alternative I’ve found is unison, which has both a cli and gui interface and actually looks for changes in both sides and syncs bidirectionally. Unfortunately, this still has do be done interactively and I was hoping something that can be done automatically, kinda like Dropbox, but to a machine I control.

    1. K.Mandla Post author

      If I understand your question correctly, no, I didn’t try a two-way sync, which I think is what you mean. In my case I just let bitpocket do as it liked by default, which seemed to be pull once, push once, with the incremental local backups you can see in the screenshot.

      I know bitpocket is trying to mimic the way Dropbox works, but this wasn’t the solution I was looking for. Mostly I was looking for a way to avoid retyping my password four or five times, and as you can see above, it didn’t really solve the problem for me.

      I’ve used unison a little bit and I liked the way it was arranged; I think that might be the best path toward getting something closer to Dropbox.

  2. Pingback: Links 16/11/2014: Xfdesktop 4.10.3, GNU Hello 2.10 | Techrights

  3. matt

    “it gets a little tedious having to re-enter passwords on every rsync, but I don’t know if there’s anything to be done about that. It’s the nature of the beast.”

    I think you could use SSH keys to avoid this, I generate automatic backups of my website without a password to log in, using a key on the server and different authenticated keys on each host that accesses it. I imagine rsync supports this kind of behavior.

  4. ap0calypse

    as matt already mentioned, it would be easy to avoid the ssh keypass if you supplied your keys in .ssh/authorized_keys.

    this way, you don’t have to enter your password all the time.

    OR:

    use a ssh-helper. like “ssh-add .ssh/id_rsa”
    this will last as long as your X-Session lasts. 🙂

Comments are closed.