Linux Server Backup using Free & Open Source Tools

If you are looking for an easy, reliable and free server backup solution for LAMP server, database servers or any other Linux server, you came to the right place.

The server backup solution I have been using for few years now is based on duplicity project. Below diagram shows my current backup schema to ensure that I have a copy of backup at both onsite and offsite locations.

LAMP Server backup to cloud storage

Few points to notice:

  1. Linux workstation is the computer for which will be backed up.
  2. Local NFS server is used to store onsite copy of server backups.
  3. A copy of backup is also stored on Amazon S3 cloud for disaster recovery. Duplicity supports backing up to Amazon S3, Azure, Dropbox, Google Docs, Google Cloud Storage, OneDrive and few others directly by utilizing s3cmd. But I prefer to use Duplicity to backup at onsite location and then utilizing s3cmd to sync the onsite backup to cloud storage.

NOTE: This tutorial is was created for Ubuntu platform (14.04 to be specific) but it can be easily adopted for any other Linux distribution.

Let’s get started with real stuff! Continue reading Linux Server Backup using Free & Open Source Tools

Elasticsearch with Logstash & Kibana using Vagrant & Virtualbox on Ubuntu 14.04

I have been working on a project where I need to send logs from Python logger to logstash so I can visualize the logs later using Kibana. Instead of setting up elasticsearch with logstash and kibana on my local workstation, I decided to setup a virtual machine running the complete stack. I have been using Virtualbox on my Ubuntu workstation and pretty happy with it. To make life easier, I put together a vagrant script to spin off VM running the elasticsearch stack so that I can share it work other developers working on the same project.

Continue reading Elasticsearch with Logstash & Kibana using Vagrant & Virtualbox on Ubuntu 14.04

Windows Server 2008 Server Core Installation and Management

With release of Windows Server 2008, Micrsoft Windows team made some major improvements to overall architecture to make Windows operating system more stable, secure and reliable. Keeping the Windows 2003 tradition alive, Microsoft ships Windows 2008 in four versions – Web Server, Standard, Enterprise and Datacenter. But one major feature addition to 2008 is the ability to do the minimal installation of Windows 2008 without any graphical utilities which most of the admins don’t need. This feature is known as “Server Core” and its basically provides a minimal environment for running a specific server role. Admins can select to perform Server Core installation during the Windows 2008 installation. The result will be a stripped down installation of Windows without any traditional components installed such as desktop shell, GUI, Windows Explorer, IE and other MMC which otherwise get installed while doing full installation. With Server Core installation, all the management and configuration tasks will be performed using command line utilities.

You must be thinking, why would someone use the Server Core installation? Everything to be configured from command line…. that sounds like going back to era of DOS? Well, there are multiple advantages when using Server Core:

  • Reduced maintenance
  • Reduced attack surface
  • Reduced management
  • Less disk space required for installation as footprint is very small
But don’t get disappointed, Microsoft does allow you to manage Server Core installation using your favorite MMC from remote server or workstation. Continue reading Windows Server 2008 Server Core Installation and Management

Customizing Windows install CD

Have you ever been into situation when you wish Windows can install the drivers for you hard disk drive controller from USB flash drive or network instead of Floppy Disk Drive which are becoming obsolete day by day. Well, I been into those situations where I need to provide SATA RAID controller drivers for my PC which unfortunately doesn’t have old fashioned ATA floppy disk drive. And even though I can use USB floppy disk drive to provide the drivers during first stage (text based) Windows installer, it will refuse to use the same drivers from USB floppy disk drive during second stage (Graphical based) installer. I started searching as how I can work around to this problem and one of the method which I came across is called slip-streaming. Basically slip-streaming means customizing the Windows install CDs.

Now there are number of other reasons for customizing install CDs other than just adding custom drivers to it. These include adding latest service packs to install CD, including custom softwares, automating the installation where you don’t have to enter Name, Company Name, CD Keys etc manually. This is very helpful if you manage multiple PCs or have test lab environment where you need to re-install Windows again and again and you wish that you don’t have to sit in front of monitor during the installation.

There are number of ways you can do slip-streaming and most of it includes copying files here and there and changing some INI files to include your custom drivers or automating installation. But as always, easiest and simplest method is to have some kind of GUI tool to do all of this for you. Many thanks to Dino Nuhagic, who created Windows based tool to do exactly this and its called nLite ( You can download this powerful tool from

So, lets get started and customize that Windows installation CD of yours. nLite can customize any release of Windows 2000, Windows XP and Windows 2003. If you want to customize Windows Vista, than you will need vLite ( In this tutorial, I will be customizing Windows 2003 Standard R2 so all the screenshots and steps are related to nLite.

Continue reading Customizing Windows install CD