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
 |