blob: ea6f9509c0dd0f831d91533f98f0679e198b2751 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
#!/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
|