LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Programming (https://www.linuxquestions.org/questions/programming-9/)
-   -   Using CP in my backup script. (https://www.linuxquestions.org/questions/programming-9/using-cp-in-my-backup-script-327359/)

Echo Kilo 05-26-2005 12:24 PM

Using CP in my backup script.
 
I'd like to change this script to use the cp (copy) command instead of tar so that it will do incremental backups without "tar-ing" all the files.

Does anyone have suggestions? Unfortunately, just replacing tar with cp does not work.

The SCRIPT


#!/bin/sh
# full and incremental backup script
# created 02 September 2004
# Based on a script by Daniel O'Callaghan


#Change the 5 variables below to fit your computer/backup

COMPUTER=deep # name of this computer
DIRECTORIES="/home /etc /var /usr/local" # directoris to backup
BACKUPDIR=/backups # where to store the backups
TIMEDIR=/backups/last-full # where to store time of full backup
TAR=/bin/tar # name and locaction of tar

#You should not have to change anything below here

PATH=/usr/local/bin:/usr/bin:/bin
DOW=`date +%a` # Day of the week e.g. Mon
DOM=`date +%d` # Date of the Month e.g. 27
DM=`date +%d%b` # Date and Month e.g. 27Sep

# On the 1st of the month a permanet full backup is made
# Every Sunday a full backup is made - overwriting last Sundays backup
# The rest of the time an incremental backup is made. Each incremental
# backup overwrites last weeks incremental backup of the same name.
#
# if NEWER = "", then tar backs up all files in the directories
# otherwise it backs up files newer than the NEWER date. NEWER
# gets it date from the file written every Sunday.


# Monthly full backup
if [ $DOM = "01" ]; then
NEWER=""
$TAR $NEWER -cf $BACKUPDIR/$COMPUTER-$DM.tar $DIRECTORIES
fi

# Weekly full backup
if [ $DOW = "Sun" ]; then
NEWER=""
NOW=`date +%d-%b`

# Update full backup date
echo $NOW > $TIMEDIR/$COMPUTER-full-date
$TAR $NEWER -cf $BACKUPDIR/$COMPUTER-$DOW.tar $DIRECTORIES

# Make incremental backup - overwrite last weeks
else

# Get date of last full backup
NEWER="--newer `cat $TIMEDIR/$COMPUTER-full-date`"
$TAR $NEWER -cf $BACKUPDIR/$COMPUTER-$DOW.tar $DIRECTORIES
fi

david_ross 05-26-2005 12:58 PM

cp doesn't really have a function for incremental backups. You would be better using rsync:
http://rsync.samba.org

Echo Kilo 05-26-2005 02:17 PM

Oh, is it tar that gives the script above the ability to do incremental backups? Do you know any scripts that already work with rsync that I can use?

Hko 05-26-2005 03:33 PM

Googling for rsync backup scripts reveals quite a few.

eddiebaby1023 05-29-2005 07:46 PM

Why not use "find" and "cpio" (and "compress" or ""zip") to do the incremental backup?

Echo Kilo 05-30-2005 07:26 PM

I am open to all suggestions. Currently, I am reading up on rsync.

Would "find and CPIO" be a better approach?

eddiebaby1023 06-01-2005 08:43 AM

Quote:

Originally posted by Echo Kilo
Would "find and CPIO" be a better approach? [/B]
I think so.:D


All times are GMT -5. The time now is 05:19 AM.