56 lines
1.8 KiB
Bash
56 lines
1.8 KiB
Bash
#!/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
|