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

The vi Editor

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 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.

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 /

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

Related Posts

  • 60
    In all Operating system there option to schedule a job/activity that should be run on particular time interval. Here is an introduction to job scheduler in linux, called crontab. Cron allows tasks to run automatically in the background at fixed time or time intervals depending upon the necessity of the…
    Tags: crontab, cron, job, command, month, day, file, jobs, time, linux
  • 41
    There are various method to execute php file via crontab in linux. Here is the details of all the method: Method 1: Run the php script using URL from the crontab If your php script can be invoked using an URL, you can lynx, or curl, or wget to setup…
    Tags: script, crontab, file, linux, job, cron
  • 33
    Use the blow command to set the linux date #date 072511242014 where 07= mm (Month) 25=dd (Date) 11=hh (Hour) 24=mm (minute) 2014=yyyy (Year)
    Tags: linux, command, month, time
  • 32 VI editor  VI operates in three modes for performing different functions. ----The Command Mode is used to enter commands that operates on text or control cursor motion. ----The Input Mode is used to enter text. ----The ex Mode (or last line mode) is used…
    Tags: http://t, editor, vi, command, linux, shell
  • 30
    You need to create a shell scrip, needed to call from a crontab, to contact a FTP server and put or get a file. You will need to modify the variable section to reflect your settings. ---------------------------------------- #!/bin/bash  #This is the FTP servers host or IP address. USER=ftpuser             #This is the FTP user that has access to the server. PASS=password          #This is the password for the FTP user. # Uses the ftp command with the -inv switches.  -i turns off interactive prompting. - Restrains FTP from attempting the auto-login feature. -v enables verbose and progress. ftp -inv $HOST 
    Tags: will, file, script, shell, crontab, linux

Leave a Reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: