How can I take back up of a directory and update the changes(Incremental backup) to it.
Step1: Suppose you want to take backup of /home directory. Use tar(Tape ARchive) command to do this as below
cd /
tar cvfz home.tar.gz /home
The options used here are
c --For creating the archive
v --For verbose mode, so that you can see what files are archiving
f --To take back to a file called home.tar.gz insted of tap drive
z --To compress it with Gzip
Step2: Once the first backup is completed update only changes to the archive by using below script
#!/bin/bash
gunzip /home/tar.gz
tar uvf /home.tar /home/
gzip /home.tar
Save this file and exit
The options used here are
u --For updating the archive with only new and updated files only
v --For verbose mode, so that you can see what files are archiving
f --To take back to a file called home.tar.gz instead of tap drive
First the script will unzip the archive file then it will update the archive with new and updated files from /home directory. Then once again gzip is used to compress this.
Note: We can not update tar archive when it is compressed so we first uncompressed then only we updated the archive file.
Step3: Enter the crontab for this script to run at 3 AM on every day.
00 3 * * * /bin/bash /path/to/script
For more information on CRONTAB configuration Click here and for issues here. Please subscribe to our RSS feed to get updates on shell scripting.
0 comments:
Post a Comment