Sync Files with bitpocket

Dmitri Popov

Productivity Sauce

Jan 09, 2012 GMT
Dmitri Popov

bitpocket may not rival dedicated file syncing services like Dropbox or Wuala, but this neat tool has a few important advantages. For starters the entire solution consists of a single Bash script which uses the good old rsync tool to perform its syncing magic. Since you can deploy bitpocket on your own server, your storage space is limited only to the size of the server's hard disk. And, of course, there are no monthly fees to pay.

Rolling your own file syncing system based on bitpocket is not particularly complicated. First of all, make sure that rsync and openssh are installed on all machines you want to use with bitpocket. Next, use curl to download the latest version of the script on your machine and make it executable (you must run these commands as root):

curl -sL > ~/usr/bin/bitpocket
chmod +x ~/usr/bin/bitpocket

Connect then to your server and create a directory which will contain master copies of your files (replace user and remotehost with the actual user name and IP address of your server):

ssh user@remotehost
mkdir ~/bitpocketmaster

Back on your machine, create a directory for use with bitpocket and initialize it for syncing with the bitpocketmaster directory on the server:

mkdir ~/bitpocket
cd ~/bitpocket
bitpocket init user@remotehost:~/bitpocketmaster

To manually sync the local and remote directories, switch to the bitpocket directory on your machine and execute the bitpocket sync command:

cd ~/bitpocket
bitpocket sync

Instead of running the syncing operation manually you can set up a cron job. But before you do that, you have to set up a password-less SSH connection between your machine and the server. To do this, run the following commands:

cd ~/bitpocket
$ ssh-keygen -t rsa -C bitpocket-`hostname` -N '' -f .bitpocket/id_rsa
$ ssh-copy-id -i .bitpocket/id_rsa user@remotehost

Uncomment then the RSYNC_SSH line in the ~/bitpocket/.bitpocket/config file.

Run then the crontab -e command on your machine, and add the following cron job:

*/5 * * * * cd ~/bitpocket && nice ~/bin/bitpocket cron

Save the modified crontab file, and you are done.


  • BitPocket in Ubuntu Clientes / Debian Server

    Hi, we do some test with BitPocket, because some of our customers use Ubuntu Lucid as Desktop OS and Debian as Server OS, we do all the step that you, and the steps in bitpocket's github web, and dail the syncronization if we use CRON, a windows asking for "SSH PASSWORD" pop up.

    Do you got this issue?

    Thanks for Your time.

    Fernando A. Rodriguez
    Twt_ @SerInformaticos
comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More