summaryrefslogtreecommitdiffstats
path: root/client/shared/scripts/updateCache
diff options
context:
space:
mode:
authorramon <ramongomez@us.es>2011-03-02 17:39:59 +0000
committerramon <ramongomez@us.es>2011-03-02 17:39:59 +0000
commit2338c95f5ab7569bbce01178ea1426555271e5a4 (patch)
treed1744759c0d0c578191210f08cab9e71c095b0e9 /client/shared/scripts/updateCache
parent803bc36238663cda57898d83bc90b7a3d232b60f (diff)
Rama version1.0:
* Redistribución de directorios para el cliente. * Modificación del instalador para adaptarse a la nueva estructura de directorios. * Desinstalador quita los recursos de OpenGnSys en Samba. * Documentación actualizada para la nueva versión. git-svn-id: https://opengnsys.es/svn/branches/version1.0@1526 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'client/shared/scripts/updateCache')
-rwxr-xr-xclient/shared/scripts/updateCache96
1 files changed, 96 insertions, 0 deletions
diff --git a/client/shared/scripts/updateCache b/client/shared/scripts/updateCache
new file mode 100755
index 00000000..5723c378
--- /dev/null
+++ b/client/shared/scripts/updateCache
@@ -0,0 +1,96 @@
+#!/bin/bash
+
+# Scirpt para la actualizacion de datos en la cache.
+# Versión: 0.9.1, 2008/03/17, - integracion eac
+# Versión: 0.9.2, 2010/07/27, - integracion opengnsys
+
+
+
+#1 REPO
+#2 nombre del fichero con su extension, tipo /imagen1.img o /ubuntu.iso
+#3 Protocolo TORRENT | MULTICAST | UNICAST
+#4 opciones protocolo
+#5 opciones de update cache
+
+
+PROG="$(basename $0)"
+if [ $# -lt 4 ]; then
+ ogRaiseError $OG_ERR_FORMAT "$MSG_FORMAT: $PROG str_REPO _str_Relative_Path_OGIMG_with_/ PROTOCOLO OPCIONES_PROTOCOLO OPCIONES_UPDATECACHE"
+ exit $?
+fi
+
+REPOSITORIO=$1
+PROTOCOLO=$3
+OPTPROTOCOLO=$4
+echo $REPOSITORIO $PROTOCOLO $OPTPROTOCOLO
+# Si el repositorio local CACHE no existe salimos.
+if ! $(ogFindCache >/dev/null); then
+ ogRaiseError $OG_ERR_NOTFOUND "CACHE"
+ exit $?
+fi
+
+
+CACHESIZEFREE=$(ogGetFreeSize `ogFindCache`)
+FILESIZE=$(ls -sk $(ogGetPath $1 $2) | cut -f1 -d" ")
+
+if [ "$FILESIZE" -ge "$CACHESIZEFREE" ]
+then
+ echo "el tamanio del fichero $2 = $FILESIZE es mayor que el espacio dispinible en la cache = $CACHESIZEFREE"
+ exit 1
+fi
+
+ogUpdateCacheIsNecesary $1 $2 || exit 0
+
+ogMountCache
+
+## Si no existe, crear subdirectorio para el fichero en la cache.
+IMGDIR=$(ogGetParentPath "$1" "/$2")
+if [ $? != 0 ]; then
+ echo "[5] Crear subdirectorio del fichero \"$2 $(dirname "$2")."
+ ogMakeDir "CACHE" $(dirname "/$2")
+ IMGDIR=$(ogGetParentPath "$1" "/$2") || exit $?
+fi
+
+
+echo "ogCopyFile $1 $2.torrent absolute $OGCAC$OGIMG"
+ogCopyFile $1 $2.torrent $OGCAC$OGIMG
+#TODO: comprobar que el tracker definido en el fichero es correcto.
+case "$PROTOCOLO" in
+ torrent | TORRENT )
+ #[ -z $OPTPROTOCOLO ] && OPTPROTOCOL=leecher:10
+ echo "ogTorrentStart CACHE $2.torrent $4"
+ ogTorrentStart CACHE $2.torrent $4
+ ;;
+ multicast | MULTICAST )
+ echo "determinando puerto principal y auxiliar."
+ PORT=$(echo $OPTPROTOCOLO | cut -f1 -d":")
+ let PORTAUX=$PORT+1
+ echo "comprobando que el servidor está activo"
+ if (nmap -n -sU -p $PORTAUX $repo | grep open)
+ then
+ ogMcastReceiverFile $PORT CACHE $2
+ else
+ echo "solicita la apertura: hose $repo 2009 --out sh -c "echo -ne START_MULTICAST $2 $OPTPROTOCOLO""
+ hose $repo 2009 --out sh -c "echo -ne START_MULTICAST $2 $OPTPROTOCOLO"
+ #echo "espero y llamo a: ogMcastReceiverFile $PORT CACHE $2"
+ sleep 30
+ ogMcastReceiverFile $PORT CACHE $2
+ fi
+ ;;
+ unicast | UNICAST )
+ echo "unicast"
+ ;;
+esac
+
+if ogUpdateCacheIsNecesary $1 $2
+then
+ echo "algo ha fallado"
+ exit 1
+else
+ echo "updateCache ok"
+ exit 0
+fi
+
+
+
+# \ No newline at end of file