Backup your code using a shell script

There are a number of version control system such as CVS and svn that help you do a lot of stuff one of which is to have a backup of your code so that you can revert back just in case you screw up. But it’s not really worth it if you’re working alone on that code and its not too many a files. For example you’re doing your coding assignment that won’t last for more than 15 days. And yes, as per the lab instructions you have to do the coding all by yourself. In such cases, its good to have a script handy that can create a backup of your code and name it appropriately (say today’s date) and store it in a backup directory.

I created such a script for my day to day assignments and am sharing with you all.

————————
Filename: backup.sh
————————

#!/bin/sh

FILENAME=`date +%y_%m_%d.tar`;
echo $FILENAME;

tar -cvvf $FILENAME code/;
mv $FILENAME backup/;

———————-

This script creates a tar archive of the code directory, names it today’s date and stores it in the backup directory.

A sample run of the code gives the following output and a tar archive by the name 09_10_02.tar is added to the backup directory.

———————————————————–

amit@texens:~/btp/src$ sh backup.sh
09_10_02.tar
drwxr-xr-x amit/amit 0 2009-10-02 01:39 code/
-rwx—— amit/amit 10077 2009-10-02 01:39 code/main.c
-rw-r–r– amit/amit 93 2009-10-02 00:04 code/Makefile
-rwxr-xr-x amit/amit 18344 2009-10-02 01:38 code/main

amit@texens:~/btp/src$ ls backup
09_10_02.tar

———————————————————-

NOTE: one may change the date format to reflect the current time in addition to the date if several backups are made in a single day.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s