User Tools

Site Tools


programacion:shellscripts:backup_tape

Backup de filesystems a una unidad de cinta

Objetivo

Hacer copia de seguridad de los filesystems que elijamos, calculando el tamaño del backup para verificar que no exceda del tamaño de la cinta.

Script

#####################################################################
# backup_tape.sh
# $Id: backup.sh,v 1.1.1.1 2006/01/17 18:19:44 jherrero Exp $
#
# Copyright (c) 2006, Joaquin Herrero Pintado
# Some rights reserved.
# This software is licensed under the CC-GNU GPL
# http://creativecommons.org/licenses/GPL/2.0/
#
# If you modify your copy or copies of this program or any portion of
# it, or develop a program based upon it, you may distribute the
# resulting work provided you keep this copyright notice intact and
# distribute your work under the same license.
#
#####################################################################

# Tape device and capacity
TAPE=/dev/nrst0
MAXGB=20

# Calculamos ocupacion de los filesystems a copiar (excluido /tmp)
# Si hay que excluir varios filesystems (fs), usar este formato:
#    BYTES=`df | awk '!/\/fs1|\/fs2|\/fs3/{i+=$3;} END {print i/2;}'`

BYTES=`df | awk '!/\/tmp/{i+=$3;} END {print i/2;}'`
MB=$((BYTES / 1024))
GB=$((MB / 1024))

if [ $GB -ge $MAXGB ]; then
   echo "Backup de $GB Gb no cabe en una sola cinta de $MAXGB Gb"
   echo "Abortado `date`."
   exit
fi

echo "Tamaño del backup: $BYTES bytes $MB Mb $GB Gb"
df -h

/bin/mt rewind
echo
echo "Comienzo del backup..."
/sbin/dump -0auf /dev/nrst0  /dev/sd0a
echo
/sbin/dump -0auf /dev/nrst0  /dev/sd0h
echo
/sbin/dump -0auf /dev/nrst0  /dev/sd0g
echo
/sbin/dump -0auf /dev/nrst0  /dev/sd0e
echo
/sbin/dump -0auf /dev/nrst0  /dev/sd0i
echo
echo "Rebobinando cinta `date`..."
/bin/mt rewind
echo "Terminado `date`."
programacion/shellscripts/backup_tape.txt · Last modified: 2007/04/03 07:41 by jherrero