DevOps Blog

Stay in the know with in-depth articles about DevOps, micro-services and cloud native topics, delivered to you weekly.

How To Back Up A Linux Server

Written by Marius Rimkus
on January 21, 2020

With the growth of public cloud infrastructures, Linux has risen in importance as the most compatible open-sourced operating system that takes full advantage of what the cloud has to offer by stretching its capabilities.

Linux servers are known for providing high-end security, and that’s why many developers use these to keep backups of their sites. Just like conventional open-sourced Linux systems, these servers are chosen for their stability, security, and flexibility advantages.

Backups are important because they help prevent permanent loss of valuable data, making it imperative for system admins to know all their Linux server backup options. This is even more critical for people who work with enterprise-level data.

However, with security and flexibility as its attributes, backing up a Linux server is not easy. Several utilities and software can be used, and we’ll show you how to make backups using two of the easiest methods: the ‘Tar’ approach and the ‘Bera’ backup method.

 

Backing Up The Server With The Tar Method

For this tutorial, we opt for an Ubuntu operating system, one of the more popular Linux-based servers used.

Use the following command to get elevated commands on your system:

Tar Command for Creating Backup

Type:

server@server: ~$ sudo tar –cvpzf backup.tar.gz –exclude=/home/server/backup.tar.gz –one-file-system

(This is a simple tar command that initiates backup. It will archive all the files you have on your server into a g-zipped compressed format. We’ve chosen backup.tar as the name for your backup and wrote ‘exclude’ to not ‘include’ this backup into a backup created earlier.)

This command will also create a new directory for you to back up your Linux server as file permissions are preserved. This makes it easier to not only restore your server but save time configuring files and folders the way you opted initially.

After you’ve typed the code mentioned above, hit Enter.

You’ll see the system beginning to archive all the files on your server system. By backing up the root directory, it tends to recourse itself back into other previous directories

Make sure your server is not performing maintenance procedures; otherwise the backup will take hours.

Tar Command for Extraction

Type:

server@server: ~$ sudo tar –xvpzf /home/server/backup.tar.gz –C / --numeric-owner

Then hit Enter.

The system will start un-archiving as it overwrites all the files you backed up before and rewrite the files that were installed before if you had a functioning system.

In case of a complete system re-installation, all the files will be restored to how they were.

(The letter ‘F’ is for the name of the drive you used to store your backup. In this case, since it was Home-Back-Server chosen as the location and it was a root backup, try restoring it to the same folder to avoid confusions and simultaneously uncompressing the files too)

Note: You can also make backups and store them onto a USB drive, but it is not recommended if it is a massive backup, and the speed of the transfer will be slower as compared to a system-root/server location.

Once the extraction is finished, just reboot and your system will be restored to the way it was when you backed it up.

 

Backing up the Server with Bera Backup

Bera Backup is a tool that can help make comprehensive Linux server backups and allows more file extensions than the normal Tar method.

This way, you can save a lot of time in case of server migration. The process is also more straightforward compared to the Tar method.

Features of Bera Backup

You can migrate an entire server in less than ten minutes. The simplicity of the Bera backup tool makes it a much easier to understand method for backing up your server.

You can include tabs, folders, and receive periodic notifications during backups. Since Bera is based on RSync, the process is more secure than the conventional ‘Tar’ method.

Bera Backup Properties

File Backups – For the important files and folders to include them in the backup

System Configurations – For Files like iptables, crontabs, users and all installed packages

 

The Command for Creating Backup

Type the following code:

./bera-backup.sh _path_config_backup

Hit Enter and Bera will start with the backup process. You’ll see the program execute the following:

Bera backup

Note: It is highly recommended to have root permissions enabled before starting with the backup, to remove any permission problems that may occur during and after restoring the backup of your Linux server.

 

The command for Restoring Backup

Type the following command:

./bera-restore.sh _path_config_restore

Hit Enter.

Don’t forget the path you chose before you made the backup; this will replace ‘_path’ to extract the backup from the location.

While defining the backup, you can take your pick from several configurable parameters for server commands for Bera Restoration Procedure, these are highlighted below:

Parameters

Description

backupOrigin

Indicates 'local' if the backup is on the server itself, or 'ssh' for download from another location

backupLocalDir

Local directory where the backup is (or where it will be downloaded via SSH). It usually is the same value that we have configured in 'backupDir' when doing the backup.

backupRemoteUser

User for the SSH connection to the server where the backup is

backupremoteserver

Remote SSH server where the backup is

backupRemotePort

SSH server port

backupRemoteDir

Remote directory where the backup is

 

Conclusion

You should have website backups just for the peace of mind that your content is safe at all times.

Backups also help ensure that your website remains available to your visitors at all times, even if something terrible has happened.

Creating backups for your Linux server might seem complicated, but you can get the job done in a variety of ways. In addition to the methods mentioned above, also try Linux server backup tools such as CloudBerry Backup, Rsync Commands and Bacula.

While making backups is not difficult, choosing the right path ­and the right ­configurations is what gets challenging. It is also important to ensure that you don’t choose a cheap hosting service for your website.

Our Linux Server specialists are here to help!

If you’d like more information about using Linux Servers to their full potential or backing them up properly, get in touch with us today.