RClone: Tool for accessing your cloud via CLI

Most of the Linux servers that I setup and/or maintain I typically run in CLI (command line interface) mode and don’t even bother to install a GUI just to preserve disk space, memory usage and CPU usage. However, it can be a pain to access my cloud storage services. Then a few years ago, I discovered RClone. RClone lets you perform basic file and directory functions such as copy, move, delete and sync. I primarily use my Google Drive but RClone supports:

  • Google Drive
  • Dropbox
  • OpenStack Swift
  • Amazon S3
  • Google Cloud Storage
  • Amazon Drive
  • OneDrive
  • Hubic
  • Backblaze B2
  • Yandex Disk
  • SFTP
  • FTP
  • HTTP

One of the reasons why I love RClone is how simple it is to use:

  • Download it from http://rclone.org/downloads
  • Extract it using tar -xvf rclone*
  • Run it for the first time using ./rclone config
  • It will then prompt you for the connection type, I choose 8 for Google Drive
  • Then it will prompt you to name the connection. I keep it simple by just naming mine “g”
  • It will then ask you to authenticate
  • Confirm your settings and you’re done

Now to use it, for example to copy a file to your cloud storage, just use:

/path/to/rclone/rclone copy localfile (name of your storage):/

In my case:

/home/pi/rclone/rclone copy myfile.ext g:/

3CX Phone System

Back in the day, when I first started with VOIP, I really wanted to go with some form of asterisk like Trixbox or Elastix but after months and months of trying, I just couldn’t get it stable enough for companies to be able to rely on. Then a buddy of mine suggested that I look at a system called 3CX. At that time they were just on version 10 and it only ran on Windows but I tried it out anyway and it seemed pretty stable so we went ahead and bought a license for it (I believe it was $1,200 at that time).

Fast forward to today, about a month ago I had to rebuild a phone server for a non-profit in Bakersfield. Beforehand, I did a bit of research and found that 3CX was not only now on version 15, but they now supported Linux as a platform! Moreover, since this non-profit only had a handful of employees, I could get them on the free tier! Some of the more advanced features aren’t included in the free tier such as the fax server and it limits the number of simultaneous calls to eight but for this particular project, it was perfect!

Within an afternoon, I had wiped one of their old servers, installed Debian 9.0 on it, installed 3cx on it and was provisioning phones. I built it on a Friday but waited until the weekend to change over their SIP trunk provider (Nexvortex) just in case something went wrong.

That following Monday morning, I made sure to wake up extra early and clung to my phone all day knowing that there had to be something that was overlooked or left un-configured. 8:00? Nothing. 12:00? Nothing. 3:00? Nothing. I finally sent the director a text and asked how the phones were today? She just said, “Good, no problems.” Trust me, that’s a miracle!

It’s been up and running solid for a good month and a half except for one issue: if you’re running 3CX on a server with two NICs, be sure to only have one interface hooked to the network.

For the past few years, I had been using RingCentral for most of clients just because it was pretty much friction free but I’m thinking that for now on, I’ll use 3CX on top of Debian.

OwnCloud: An open source, self-hosted Dropbox alternative

Sometime last year right around the time that Dropbox had their database of user accounts and passwords compromised, a client of mine got wind of the story and asked me to remove all of their cloud services to on-premise servers. At the time, I was using Dropbox Plus to keep their network drive in sync between their multiple business locations (quite honestly because it just worked and it was one last thing that I had to worry about managing) so I began researching open source, self hosted alternatives to Dropbox. I quickly came across OwnCloud which is exactly what I was looking for. OwnCloud runs on top of your existing LAMP stack and has a web client, desktop sync clients as well as mobile clients for both iOS and Android. Best of all, it has file versioning built in. You can also use the EFF’s LetsEncrypt to secure the data in transit using SSL.

Ever since discovering it, I've also ran my own personal OwnCloud server using a Raspberry Pi and a one terabyte external hard drive. Of course, with any self hosted service, you get the responsibility of backing it up. I don't keep anything mission critical on my OwnCloud but I wrote a simple Python script to copy over all of the data, dump the MariaDB database, tar it into an archive, send it through an encryption process and send it up to my Google Drive once a week.

Even if you don't have a business, having your own personal cloud storage is still a fun project to do. For less than $99 (the cost for 1 year of Dropbox Pro), you can go on Amazon and order yourself a cheap Raspberry Pi kit as well as a 1 terabyte USB external hard drive and build your own personal cloud storage!