Backup software
Derek Atkins
warlord at MIT.EDU
Sun Dec 16 23:06:14 EST 2001
What does 'file tapevol.tgz' give you?
Are you sure you're using the LinuxTar target and not the Linux
targer? The latter will use dump...
I would recommend trying to do this by hand before using
a script.
-derek
jbk <jbk at mail2.gis.net> writes:
> >Executing the following did not access the tape device.
>
> # dd if=/dev/nht0 | cat > tapevol.tgz
> 61433+0 records in
> 61432+0 records out
>
> [root at kelly-rand tape3]# ls
> total 30756
>
> -rw-r--r-- 1 root root 31453696 Dec 16 21:57
> tapevol.tgz
>
> # mv tapevol.tgz tapevol
>
> ]# head tapevol
> with link time reference (no version symbols)]
> ' [ (lazy)
>
>
> relocation processing: cannot make segment writable for
> relocation' has different size in shared object, consider
> re-linking
> : Symbol `<program name unknown>: profiler found no PLTREL
> in object : profiler out of memory shadowing PLTREL of can't
> restore segment prot after relocDST not allowed in SUID/SGID
> programsempty dynamics string token substitution' because of
> empty dynamic string token substitution
> cannot load auxiliary `
> requested by file=load auxiliary object=load filtered
> object=cannot allocate dependency listcannot allocate symbol
> search listcannot load shared object fileout of
> memoryDYNAMIC LINKER BUG!!!
> : : error while loading shared libraries: <program name
> unknown>
>
> >Is the above error mssg relevant ?
>
> This is the backup script as I used it.
> $TAPE is local to this script, I could make it an
> environment variable but why bother at this stage? /dev/nht0
> is one and the same.
> ###############################
> #!/bin/bash
> # backup
>
> append() # append item to backup list table
> {
> n=${#blist[*]}
> blist[$n]=$1
> }
>
> # Backup table
> #
> # host platform filesystem levels
> (Full/Incremental MTWTF)
> # append 'loki LinuxTar /mnt/windows/gbb I I I F I'
> #####################
> # append 'raijin Linux /dev/hda1 I I I F I'
> #####################
> append 'localhost LocalTar /etc F I I I I'
> append 'localhost LocalTar /var F I I I I'
> append 'localhost LocalTar /usr/local F I I I I'
> append 'localhost LocalTar /home/Dad F I I I I'
> #####################
>
> # Using 'dd' to write the tape avoids requiring .rhosts on
> artemis (owner
> # of the tape drive) giving access to root from the other
> systems. If
> # the command were of the form 'rsh <remothost> dump f
> artemis:/dev/rst0',
> # artemis would need to give root rsh privileges to
> <remotehost>. Not doing
> # this avoids giving system wide superuser privileges to
> people with Unix
> # machines on their desks, while allowing those same people
> to have
> # superuser privileges for the machines on their desks.
> #
>
> TAPEDEV=/dev/nht0
> WRT_TAPE="dd of=$TAPEDEV obs=126b"
>
> error_exit()
> {
> echo "The nightly backup failed" | mail -s "backup
> failed" backuplist
> mt -f $TAPEDEV rewoffl
> exit
> }
>
> dump_host() # args: host platform filesystem levels
> day_of_week
> {
> echo '####################'
> date
> # first test if we can access remote host
> # rsh -n $1 echo
> # if [ $? != 0 ] ; then
> # echo "rsh to $1 failed" | mail -s "backup failed"
> backuplist
> # return
> # fi
>
> day=$(($9 + 2))
> level=${!day} # evaluate $day'th positional argument
>
> if [ $level = F ] ; then
> dl=0
> echo File $fileno: Full backup of $3 on $1
> else
> dl=5
> echo File $fileno: Incremental backup of $3 on $1
> fi
>
> case $2 in
> SunOS) rsh -n $1 /etc/dump ${dl}uf - $3 | $WRT_TAPE ;;
> Solaris) rsh -n $1 /usr/sbin/ufsdump ${dl}uf - $3 |
> $WRT_TAPE ;;
> Linux) rsh -n $1 /sbin/dump ${dl}uf - $3 | $WRT_TAPE ;;
> LinuxTar) if [ $level = F ] ; then
> rsh -n $1 tar zcf - $3 | $WRT_TAPE
> else
> rsh -n $1 tar zcf - -N \"7 days ago\" $3 | $WRT_TAPE
> fi ;;
> LocalTar) if [ $level = F ] ; then
> tar zcf - $3 | $WRT_TAPE
> else
> tar zcf - -N \"7 days ago\" $3 | $WRT_TAPE
> fi;;
> esac
>
> if [ $? != 0 ] ; then error_exit ; fi
>
> fileno=$(($fileno + 1))
> }
>
> date
> mt -f $TAPEDEV rewind
> if [ $? != 0 ] ; then error_exit; fi
>
> #
> set -v
> # cd /root/backup
>
> # Put a copy of the backup scripts on the tape as File 0
> # tar cvf $TAPEDEV backup pc.backup
> # if [ $? != 0 ] ; then error_exit; fi
>
> # Determine backup level for today. Get the day of the
> week, and
> # add in the offset to the backup level arguments. The
> crontab entries
> # run backups starting at midnight, Monday night - Friday
> night, so
> # the day of week numbers will be 2-6. The level arguments
> start at $4.
>
> if [ $# -eq 1 ] ; then
> case $1 in
> Mon) day_of_week=2 ;;
> Tue) day_of_week=3 ;;
> Wed) day_of_week=4 ;;
> Thu) day_of_week=5 ;;
> Fri) day_of_week=6 ;;
> *) echo use day of week in lowercase
> exit ;;
> esac
> else
> day_of_week=$((`date +%w`))
> if [ $day_of_week -lt 2 ] ; then day_of_week=2 ; fi
> if [ $day_of_week -gt 6 ] ; then day_of_week=6 ; fi
> fi
>
> # Main loop. Execute the backup for each host entry.
> fileno=1
> i=0
> while [ $i -lt ${#blist[*]} ] ; do
>
> dump_host ${blist[$i]} $day_of_week
>
> i=$(($i + 1))
> done
>
> date
> echo File $fileno - 'M$-win units'
> #/root/backup/pc.backup $fileno
>
> mt -f $TAPEDEV rewoffl
>
> #End of backup script
> ###############################
>
> Jim Kelly-Rand
>
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL-IA N1NWH
warlord at MIT.EDU PGP key available
More information about the Discuss
mailing list