I’ve been working on setting up a file server for our church. One of the things I wanted to do with this server is use it as a place to backup our in-house workstations. We hadn’t been doing anything in the way of automated backups, so it was well-past time.

I found an oldish Dell Inspiron gathering dust. It had an AMD Athlon and 2GB of RAM; also conjured up two SATA drives for storage: 1 1TB and a 500MB. Only needed to shell out $15 for a SATA DVD drive since the one that had been in that machine was apparently being used elsewhere.

After playing with several of the open source NAS servers, I finally settled on OpenMediaVault. It’s based in Debian, so you have all goodness of Linux along with the APT package manager which makes installing stuff dead simple. Case in point, s3tools — a slick command line interface for working with S3 buckets.

I’m going to assume that you’re already up and running with OpenMediaVault and you’ve enabled the SSH service. If not, check out their documentation for instructions on how to get started. You’ll also need to generate an access key and secret key along with an S3 bucket using the Amazon Management Console.

There’s a great article on kura.io that details how to install and configure s3tools. In short, you’ll need to SSH into your OpenMediaVault box and run a few commands.

Once you’ve run those, s3tools will be installed and you can configure it to use your Amazon S3 account. This is where you’ll need to use your access and secret keys. I’d highly recommend you read the kura.io article above under ‘Configuration’ for details on doing this.

Once s3tools is installed, we need to figure out the location of the file system that’s being managed by OpenMediaVault. From an SSH terminal, run the blkid command. For example:

Knowing the name of your file system  (in OpenMediaVault under Storage | File Systems), make a note of it’s UUID. For example, my file system is named “Main”. That will be the location under Linux where all your files are stored.

Now, go into the OpenMediaVault web admin and pull up Scheduled Jobs under the System sidebar menu. This will allow us to set up an automated job to run at regular intervals. In this case, we’re going to tell s3tools to back up our OpenMediaVault media directory once per day.

omv_job

Click add. The dialog that appears is a little confusing, but if you want to back up everything once per day, enter minutes and hours to your liking and leave the other date fields at *. In the example above, the job will run every day at 2:00 am. A good time since everyone will be sleeping. Under user select root and in comments put something like “Backup to Amazon S3”. If you have a mail server setup in OpenMediaVault you can also have it send you a message each time the job is run. Nice to have, but not necessarily required.

Finally, in the field next to Command, enter:

If you’re like me and can’t wait until 2:00 am comes around to see if this all works, you can click on the job from the job list and click Run.