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
56
57
58
59
60
|
#!/bin/bash
# Scirpt de iniciación de la caché local de disco.
# (puede usarse como base para el programa de restauración de imágenes usado por OpenGnSys Admin).
# Versión: 0.9.1, 2009/03/17, - Ramón Gómez, Univ. Sevilla - Versión inicial.
# Versión: 0.9.2, 2010/07/27, - Ramón Gómez, Univ. Sevilla - redefinir parámetro.
TIME1=$SECONDS
PROG="$(basename $0)"
if [ $# -ne 1 ]; then
ogRaiseError $OG_ERR_FORMAT "$MSG_FORMAT: $PROG -1 | 0 | tamaño"
exit $?
fi
# Si tamaño no es numérico o tamaño<-1, error.
if [ -n "${1//[-0-9]/}" ] || [ $1 -lt -1 ]; then
ogRaiseError $OG_ERR_FORMAT "$MSG_FORMAT: $PROG -1 | 0 | tamaño"
exit $?
fi
# Si tamaño=0, no hacer nada.
if [ $1 -eq 0 ]; then
echo "No modificar la caché local."
exit
fi
# Si tamaño=-1, borrar caché.
if [ $1 -eq -1 ]; then
echo "[10] Trabajar sin caché local."
ogUnmountCache 2>/dev/null
ogDeleteCache
else
# Si tamaño>0, ...
if [ ! $1 -gt 0 ]; then
ogRaiseError $OG_ERR_FORMAT "$MSG_ERR_FORMAT: !($1>0)"
exit $?
fi
# Si no existe caché o si cambia su tamaño, crearla.
SIZE=$(ogGetCacheSize 2>/dev/null)
if [ "$1" != "$SIZE" ]; then
echo "[10] Crar partición de caché local."
ogUnmountCache 2>/dev/null
ogCreateCache "$1"
fi
# Si caché no montada y no formateada, formatear.
CACHE=$(ogFindCache) || exit $?
if ! ogIsFormated $CACHE; then
echo "[50] Formatear caché local."
ogFormatCache
fi
echo "[70] Montar caché local."
ogMountCache 2>/dev/null
# Si error al montar, chequear sistema de archivos y volver a montar.
if [ $? != 0 ]; then
echo "[80] Comprobar y montar caché local."
ogCheckFs $CACHE
ogMountCache || exit $?
fi
fi
# Duración del proceso.
TIME=$[SECONDS-TIME1]
echo "[100] Duración de la operación $[TIME/60]m $[TIME%60]s"
|