Date: Tue, 23 Jul 2002 22:21:59 -0700 From: Steve Wingate <steve@velosystems.net> To: Michelle Weeks <tristan11@mindspring.com> Cc: freebsd-questions@freebsd.org Subject: Re: Backup Scripts Message-ID: <20020723222159.0ad98bfd.steve@velosystems.net> In-Reply-To: <7947A24A-9EB7-11D6-BE51-00039368B8EC@mindspring.com> References: <7947A24A-9EB7-11D6-BE51-00039368B8EC@mindspring.com>
index | next in thread | previous in thread | raw e-mail
On Tue, 23 Jul 2002 20:43:10 -0700
Michelle Weeks <tristan11@mindspring.com> wrote:
////////////////////////////////
>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
////////////////////////////////
My shell scripting skills are next to non-existent but I think I see a
problem with your variables at the beginning, specifically:
LEVEL=${0}
You're setting a variable to a variable but never defining the absolute
value. It seems to me the equivalent of saying:
"my name is my name is my name is....infinity"
Trying changing "LEVEL=${0}" to "LEVEL=0" and running it again, just for
kicks.
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020723222159.0ad98bfd.steve>
