#!/bin/bash #/** #@brief Comprime el fichero ogclient.img en ogclient.sqfs. #@param none #@exeption 1 No es usuario root #@exeption 2 No existe el fichero ogclient.img #@date 2013-11.27 #*/ PROG="$(basename $0)" # Mostrar ayuda: Si se solicita, si faltan parametros o $3 no es SYNC1 o SYNC2. if [ "$*" == "help" ]; then echo -e "$PROG: Comprime el fichero ogclient.img en ogclient.sqfs. \n" " Uso: $PROG (sin parametros)" exit 0 fi if [ "$USER" != "root" ]; then echo "$PROG: Error: solo ejecutable por root" >&2 exit 1 fi DATE=$(date +%y-%m-%d) OPENGNSYS=${OPENGNSYS:-"/opt/opengnsys"} OGCLIENTBASEDIR=$OPENGNSYS/tftpboot/ogclient/; OGCLIENTFILE=${OGCLIENTBASEDIR}ogclient.img; OGCLIENTSQFS=${OGCLIENTBASEDIR}ogclient.sqfs OGCLIENTMOUNT=${OGCLIENTBASEDIR}ogclientmount; OGCLIENTSIZEMB=2100; OGCLIENTLABEL=ogClient; # Comprobamos que existe el cliente .sqfs ! [ -f $OGCLIENTFILE -a -d $OGCLIENTMOUNT ] && echo "No existe $OGCLIENTFILE o $OGCLIENTMOUNT" && exit 3 # Montamos ogclient.img. echo "Montamos ogclient.img." mkdir -p $OGCLIENTMOUNT; mount | grep $OGCLIENTMOUNT || mount $OGCLIENTFILE $OGCLIENTMOUNT -o loop,offset=32256; # Si existe ogclient.sqfs hacemos copia de seguridad. echo "Si existe ogclient.sqfs hacemos copia de seguridad." [ -f ${OGCLIENTSQFS} ] && mv ${OGCLIENTSQFS} ${OGCLIENTSQFS}.$DATE # Comprimimos el cliente. echo "Comprimimos el cliente." echo "mksquashfs $OGCLIENTMOUNT ${OGCLIENTSQFS}" mksquashfs $OGCLIENTMOUNT ${OGCLIENTSQFS} # Desmontamos el ogclient.img echo "Desmontamos el ogclient.img" umount $OGCLIENTMOUNT # Generamos nuevo archivo de suma de comprobaciĆ³n. echo "Generamos nuevo archivo de suma de comprobacion." mv ${OGCLIENTSQFS}.sum ${OGCLIENTSQFS}.sum.$DATE md5sum ${OGCLIENTSQFS} |awk '{print $1}' >${OGCLIENTSQFS}.sum