Making Linux and Android Get Along (It's Not as Hard as It Sounds)
The below items also deserve special mention, and although they're not quite as widely known, accepted and/or supported across the Android community yet, each has some nice features that are worth a look.
Ubuntu One: Canonical's entry into the cloud storage and Web services game, it has the benefit of a commercial supporter of the Linux client. In addition, Ubuntu One goes beyond simple file synchronization and will have the ability in the future to keep some of your more data-centric applications (such as contacts and notes) up to date as well as stream music. The support is a little patchy (for example, it will synchronize contacts, but not calendar or task data, and only on Ubuntu at present), but Ubuntu One's promise of a "personal cloud" is certainly enticing.
Spideroak: if you're nervous about entrusting all your sensitive data to a service provider's BOFH's for all you know, Spideroak may be right up your alley. The service's biggest selling point is "zero-knowledge" encryption on all your data—that is, even though the company hosts it, even it can't break into your files. It also maintains a version history on files, a feature typically only for premium customers of other services. Finally, in addition to mobile (iOS, Android and Nokia N900), the company has comprehensive Linux support, providing clients in DEB (Ubuntu/Debian), RPM (Fedora/OpenSUSE/RHEL/CentOS) and even TGZ format for Slackware users.
On the Local Network
For the paranoid among us, there are concerns about leaving all your sensitive data in the hands of corporate overlords. Fortunately, there's options for even the most anti-corporate shell jockey to connect Android and Linux over a local network.
The "Linux" Way: SSHDroid
One option is to synchronize from the Linux side, meaning there needs to be a mechanism for your Linux box to see and manipulate the files on the Android device. SSHDroid (https://play.google.com/store/apps/details?id=berserker.android.apps.sshdroid&hl=en) provides a full SSH server for your device. As shown in Figure 9, starting this app displays a screen telling you everything you need to know, including your current IP address, the URL to connect to (it uses the SFTP protocol and defaults to port 2222) and the status of the server.
Figure 9. SSHDroid Main Screen
Having used this quite a bit to edit files directly over SFTP (one reason why I love kioslaves), I can say this is probably my favorite way to use my Linux and Android machines, for a couple reasons. One, it takes the least amount of setup: you install SSHDroid, start it up and go to a URL from the Linux machine. And, Bob's your uncle. Second, it's secure. Third, while I generally use it to edit files directly over SFTP, once you're connected, you can use an application like Unison or Krusader to synchronize files. And last, the performance for large transfers is not too shabby on my Prime.
That said, this method is best suited for those who use the Android device as a mobile extension of their desktop machine—that is, those for whom the Linux box is the boss. For those of us who do more and more computing on tablet and other mobile devices, it never hurts to have SSHDroid installed (it's free and takes up less than 1MB, rare nowadays). A more Android-centric solution is described below.
The "Android" Way: FolderSync (S/FTP, Samba, WebDAVS)
For those of us who are enjoying the freedom of browsing the Interwebs or writing from a hammock in the back yard (which, if you haven't tried it, I highly recommend) but still want to practice good backup procedures, FolderSync (https://play.google.com/store/apps/details?id=dk.tacit.android.foldersync.full&hl=en) is an excellent solution. It isn't open source, or even free, but at $2.29 for the Pro version, it's practically a no-brainer once you figure out what it can do for you.
And what is that? It will keep one folder on your device synced up with a folder on your Linux box over SFTP. You can opt to start the sync jobs manually, or schedule them, with useful options, such as limiting certain jobs (called Folderpairs, as shown in Figure 10) to certain wireless networks, only synchronizing when the power is plugged in, and whether files should be updated one-way or bi-directionally.
Figure 10. Configuration Options for Foldersync
Figure 11. FolderSync-Supported Protocols
But the great thing about FolderSync is all the different protocols it supports (a part of that selection list is shown in Figure 11). Have a file server at work that exports a Samba share? FolderSync will link up to that, no problem. Want to do some updates to a site on your Web server? Get WebDAV(S) running on Apache, and you're set. Oh, and remember all those cloud services we talked about? Dropbox, Box and Google Drive? FolderSync does that one, that one and that one too.
The "Lite" version will allow you to sync up with one other folder on one device, so if that's all you need, you can avoid having to pony up any cash. But the Pro version will allow you to set up your Android device as a central hub for anywhere you stash files. Now if only they started making devices with 1TB Flash drives....
Free DevOps eBooks, Videos, and more!
Regardless of where you are in your DevOps process, Linux Journal can help!
We offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, and advice & help from the expert sources like:
- Linux Journal