Shell Scripts

On this page you’ll find the code of my shell scripts. You’re welcome to use them!

Have a lot of fun…

backup script

I wrote this script so I could learn a bit more about writing shell scripts and finally I can put the command of this script in my crontab file.

This is a script which does a backup of specific folders and/or files. It creates a .tar.gz archive and sets the name of the backup as Backup-<date>.tar.gz.

Put your folders and files where I declared the variables PATH_# and change the path where the archive has to go.

Before you start the shell script, you maybe need to make it executable with this command:

$ chmod +x

Run it with:

$ ./

And here is the code of my script:


# backup script

# -e activates escape sequences like \n
echo -e "\nBackup will start now...\n"
echo -n -e "Continue? (y|n): "

read input

if [ "$input" = "y" ]

	# prints the date like "11-11-2011"
	# new variable "VARDATE"

	VARDATE=`date +"%d-%m-%Y"`

	# print value of VARDATE with:
	# echo $VARDATE

	# test if you are at home
	test "$PWD" = "$HOME"

	if [ `echo $?` = "1" ]
		then cd ~

	# backup paths, work with relative paths

	echo -e "\nThe following Folders will be archived:\n$PATH_1\n$PATH_2\n$PATH_3\n$PATH_4\n$PATH_5\n$PATH_6\n$PATH_7\n$FILE_1\n"

	# create the archive, preserve the time stemp when the files where accessed
	tar -czf Backup-$VARDATE.tar.gz --atime-preserve $PATH_1 $PATH_2 $PATH_3 $PATH_4 $PATH_5 $PATH_6 $PATH_7 $FILE_1

	FILESZ=`du -h Backup-$VARDATE.tar.gz`
	echo -e "\nSize of archive is:\n$FILESZ"
	# check if external hdd MaryJane is connected
	test -e /media/MaryJane/

	if [ `echo $?` = "1" ]
		echo -e "\nExternal HDD 'MaryJane' not connected!\nArchive remains in HOME directory!\n"
		# move the created archive to the external hdd "MaryJane"
		mv Backup-$VARDATE.tar.gz /media/MaryJane/Backups/

elif [ "$input" = "n" ]

	then echo -e "\nAborted"

	echo -e "\nIncorect Input"

One thought on “Shell Scripts

Leave a Reply

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

You are commenting using your 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