Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Jul 2002 20:43:10 -0700
From:      Michelle Weeks <tristan11@mindspring.com>
To:        freebsd-questions@freebsd.org
Subject:   Backup Scripts
Message-ID:  <7947A24A-9EB7-11D6-BE51-00039368B8EC@mindspring.com>

next in thread | raw e-mail | index | archive | help
I am new to scripting and am trying to use the below script I found to 
run backups of our FreeBSD 4.5 server, but I keep getting the error:

Level-backup.sh Backup Tue Jul 23 21:04:22 PDT 2002
Error: Level-backup.sh unknown

Since I am new at this, I am probably missing something very obvious.  I 
would greatly appreciate any help or advice as to where I can find more 
info. on creating backup scripts for FreeBSD.


Here is the script I am using:


# Variables
EMAILTO=backup
DESTFILE=/dev/nrsa0
BACKUPFILES="/var /usr/home"
BACKUPDIR=${HOME}/backup
LEVEL=${0}

# Load backup functions
cd ${BACKUPDIR}
. backup-functions

# Do the backup
tar_backup

# Test the backup for errors
tar_verify

# Email the backup report
mail_report

# Done
exit

and here is the .backup-functions file for the shell script:

# Variables
L0DATESTAMP="${BACKUPDIR}/.level0_datestamp"
NOW=`date`

# tar_backup function: does the archiving
tar_backup ()
{
   echo "Level-${LEVEL} Backup ${NOW}"
   if [ "${LEVEL}" = "0" ]; then
     # make Level-0 datestamp
     echo ${NOW} > ${L0DATESTAMP}
     # Level-0 backup
     tar --create --verbose \
         --file ${DESTFILE} \
         --blocking-factor 126 \
         --label "Level-${LEVEL} Backup ${NOW}" \
         ${BACKUPFILES}
   elif [ "${LEVEL}" = "1" ]; then
     # get last Level-0 datestamp
     LAST=`cat ${L0DATESTAMP}`
     # Level-1 backup
     tar --create --verbose \
         --file ${DESTFILE} \
         --blocking-factor 126 \
         --after-date "${LAST}" \
         --label "Level-${LEVEL} Backup from ${LAST} to ${NOW}" \
         ${BACKUPFILES}
   else
     # Backup level error
     echo "Error: Level-${LEVEL} unknown"
     exit
   fi
   echo "Level-${LEVEL} Backup END"
}

# tar_verify function: test the archive for errors
tar_verify ()
{
   echo "Level-${LEVEL} Backup Verify ${NOW}"
   # Backup verify test
   tar --list --verbose \
       --file ${DESTFILE} \
       --blocking-factor 126
   echo "Level-${LEVEL} Backup Verify END"
}

# mail_report function: sends backup report
mail_report ()
{
   # Email backup report
   mail -s "Level-${LEVEL} Backup" "${EMAILTO}" << EOF

###########################################################
Level-${LEVEL} Backup
###########################################################

Host:  ${HOSTNAME}
Files: ${BACKUPFILES}

Destination: ${DESTFILE}

###########################################################
Started:   ${NOW}
Completed: `date`
###########################################################

EOF
}


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7947A24A-9EB7-11D6-BE51-00039368B8EC>