shell script to backup files and directories in Linux using tar & cron jobs

The vi Editor

http://t4test.com/blog/unix-linux-shell-script-introduction-to-shell-scripting/

http://t4test.com/blog/read-making-shell-script-interactive/

http://t4test.com/blog/cpio-a-backup-program/


Backup Using TAR

Backing up your files using tar is very simple you just type a little command.

tar -cvpzf /BackupDirectory/backupfilename.tar.gz /ImportantData/directory/path
Let’s 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

 

Now Create file using vi editor and paste below script.

vi /autobackup.sh
#!/bin/bash
#AutoBackup of Important Data

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.
tar -cpzf $DESDIR/$FILENAME $SRCDIR

This Script will make backup of /imp-data directory and save it into a single compressed file on /mybackupfolder Directory.

 

 

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.

crontab -e

Format of Crontab. It has 6 Parts:

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

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.

crontab -e
#   Minutes    Hours      Day of Month       Month    Day of Week    Command

      01        13               *             *        1,6          /bin/bash /backup.sh

Now Done…..

To know more about the scheduled job in linux:

Linux Cron Job – Schedule Job in linux: crontab

PHP Cron Job: How to Execute PHP file Using Crontab in Linux

One thought on “shell script to backup files and directories in Linux using tar & cron jobs

  • February 1, 2014 at 11:42 am
    Permalink

    You can see your active cron with the terminal command:

    crontab -l
    Here are the parameters in order:

    1) min (0 – 59)

    2) hour (0 – 23)

    3) day of month (1 – 31)

    4) month (1 – 12)

    5) day of week (0 – 6) (Sunday=0)

    6) command

Leave a Reply