segunda-feira, 23 de janeiro de 2017

Linux - Backup Files and Directories

Backup Files and Directories in Linux
This tutorial is related to Backup Files and Directories in Linux using tar and cron jobs. Almost every Linux Admin use this utility (for backing up their critical data) which is something call tar, tar allows you easily and quickly backup your files folder or your entire system.

Advance Linux Topics: Apache High-Availability Cluster on CentOS 7.x Using Pacemaker
In this guide I am going to show you how to use tar for backup your important files, folders or your whole system then You will learn also how to schedule backup task using cron job.
You can also read about the other related topics of Linux Backup

Cron Job

Cron jobs allow you to schedule your tasks and run automatically.
So you will learn first, how to backup important data and then how to run backup task automatic using bash script and cron jobs.


Backup Using TAR

Backing up your files using tar is very simple using following command.
# tar -cvpzf /BackupDirectory/backupfilename.tar.gz /ImportantData/directory/path
Lets take a real world example, suppose I have directory called /imp-data on root  and i want to make backup of this directory including sub directories on different location like in /mybackupfolder.
In above example my command will be.
# tar -cvpzf /mybackupfolder/backup.tar.gz /imp-data
Command Output:

Command Explanation:

  • tar = Tape archive
  • c = Create
  • v = Verbose mode
  • p = Preserving files and directory permissions.
  • z = This will tell tar that compress the files further to reduce the size of tar file.
  • f = It allows tar to get file name.
Don’t Miss: How to Perform Incremental backup in Linux using tar utility
Now Let’s add tar command in bash script to make this whole backup process automatic.
Here i will show you my self-created simple bash script that i am using for backing up my important data. To make this script automatic and run in background we will use cron job

Here is my Super Simple Backup Script :)

Create file using vi editor and paste below script.
# vi /
Paste Below Script in file
#Purpose = Backup of Important Data
#Created on 17-1-2012
#Author = Hafiz Haider
#Version 1.0
TIME=`date +%b-%d-%y`            # This Command will add date in Backup File Name.
FILENAME=backup-$TIME.tar.gz    # Here i define Backup file name format.
SRCDIR=/imp-data                    # Location of Important Data Directory (Source of backup).
DESDIR=/mybackupfolder            # Destination of backup file.
This Script will make backup of /imp-data directory and save it into a single compressed file on /mybackupfolder Directory.

Now create above mentioned directories

Source directory:
# mkdir /imp-data
Destination directory:
# mkdir /mybackupfolder

Automation of Backup Process:

Now i will show you how to schedule our backup process. In Linux we use cron jobs in order to schedule task.
For setting up cron jobs we use crontab -e command in shell, this command basically says we are going to edit our cron jobs file. If you run first time crontab -e command then it will ask you to default text editor, you just select your favorite editor after that it will never ask you again.
Don’t Miss: How to Setup Linux Crontab with Examples
Open cronab editor utility:
# crontab -e
It has 6 parts see below explanation:
Minutes Hours  Day of Month Month Day of Week  Command
0 to 59 0 to 23 1 to 31 1 to 12 0 to 6 Shell Command
Keeping above examples in mind now let’s suppose i want to run this backup process on every Mon and Sat  at 1:pm.
in above condition my crontab file should be like this.
01 13 * * 1,6 /bin/bash /
That’s All…


0 comentários: