#!/bin/sh # dump des slices locales OpenBSD. + sauvegarde de la table de partitions # slice locale signifie : slice sur le meme disque que le disque de la slice /. # variables # ============================================== # nom d'hote : HOST= # suffixe horodateur pour les dumps cr�s SUFFIX= # nom du disque en trois lettres : ' ex: wd0 ' DISK= # main # ============================================== HOST=$(hostname | cut -f1 -d .) a=$(date +'%Y%m%d%H%M%S') SUFFIX=dump0.$a DISK=$(mount | grep " / " | cut -c6-8) SLICES=$(mount | grep -v /home | grep "^/dev/$DISK" | cut -c9) # hors /home umask 077 # table des partitions fdisk /dev/r${DISK}c > $HOST.r${DISK}c.fdisk.$a disklabel $DISK 2>&1 > $HOST.disklabel.$DISK.$a # packages pkg_info > pkg_info # dump des partitions cd /sauvegarde/$(hostname) || exit 1 for SLICE in $SLICES ; do LABEL=$(mount | grep /dev/$DISK$SLICE | awk '{print $3}' | tr -d / ) if test "$LABEL" = "" ; then LABEL=root ; fi cmd="/sbin/dump -0a -f $HOST.$DISK$SLICE.$LABEL.$SUFFIX /dev/r$DISK$SLICE" echo # $cmd $cmd cmd="chmod o-r $HOST.$DISK$SLICE.$LABEL.$SUFFIX" echo # $cmd $cmd done # fin