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