918-git-images-111dconfigfileconfigure-oglivegit-imageslgromero-new-oglivemainmaint-cronmount-efivarfsmultivmmultivm-ogboot-installerogClonningEngineogboot-installer-jenkinsoglive-ipv6test-python-scriptsticket-301ticket-50ticket-50-oldticket-577ticket-585ticket-611ticket-612ticket-693ticket-700ubu24tplunification2use-local-agent-oglivevarios-instalacionwebconsole3
Rev | Line | |
---|
[f8f4dfa] | 1 | #!/bin/bash |
---|
[e42f34e] | 2 | # Scirpt de ejemplo para restaurar una imagen. |
---|
[f8f4dfa] | 3 | # (puede usarse como base para el programa de restauración de imágenes usado por OpenGNSys Admin). |
---|
| 4 | |
---|
[f5432db7] | 5 | TIME1=$SECONDS |
---|
[f8f4dfa] | 6 | PROG="$(basename $0)" |
---|
| 7 | if [ $# -ne 4 ]; then |
---|
[892606b9] | 8 | ogRaiseError $OG_ERR_FORMAT "Formato: $PROG REPO|CACHE imagen ndisco nparticion" |
---|
[f8f4dfa] | 9 | exit $? |
---|
| 10 | fi |
---|
| 11 | |
---|
| 12 | # Procesar parámetros de entrada |
---|
[c7d9af7] | 13 | IMGFILE=$(ogGetPath "$1" "$2.img") |
---|
[e42f34e] | 14 | if [ "$1" == "CACHE" -o "$1" == "cache" ]; then |
---|
[c7d9af7] | 15 | IMGDIR=$(ogGetParentPath "$1" "$2") |
---|
| 16 | # Si no existe el directorio de la imagen, crearlo. |
---|
[b9a5881] | 17 | if [ -z "$IMGDIR" ]; then |
---|
[c7d9af7] | 18 | echo "Creando directorio de imagen \"$1, ${2%/*}\"." |
---|
| 19 | ogMakeDir "$1" "${2%/*}" || ogRaiseError $OG_ERR_NOTFOUND "$1, ${2%/*}" || exit $? |
---|
| 20 | fi |
---|
| 21 | IMGDIR=$(ogGetParentPath "$1" "$2") || ogRaiseError $OG_ERR_NOTFOUND "$1, ${2%/*}" || exit $? |
---|
[e42f34e] | 22 | if [ -z "$IMGFILE" ]; then |
---|
| 23 | echo "Copiando imagen \"$2\" del repositorio a caché local" |
---|
[c7d9af7] | 24 | ogCopyFile "repo" "$2.img" "$IMGDIR" || exit $? |
---|
| 25 | IMGFILE=$(ogGetPath "cache" "$2.img") |
---|
[e42f34e] | 26 | fi |
---|
[c7d9af7] | 27 | fi |
---|
| 28 | if [ -z "$IMGFILE" ]; then |
---|
| 29 | ogRaiseError $OG_ERR_NOTFOUND "$1, $2" |
---|
| 30 | exit $? |
---|
[e42f34e] | 31 | fi |
---|
[f8f4dfa] | 32 | PART=$(ogDiskToDev "$3" "$4") || exit $? |
---|
| 33 | |
---|
| 34 | # Restaurar la imagen. |
---|
[1c04494] | 35 | ogEcho info "$PROG: Origen=$IMGFILE, Destino=$PART" |
---|
| 36 | ogRestoreImage "$@" || exit $? |
---|
[f8f4dfa] | 37 | # Restaurar tamaño. |
---|
[1c04494] | 38 | ogEcho info "$PROG: Extender sistema de archivos." |
---|
[f5432db7] | 39 | ogExtendFs $3 $4 |
---|
[1c04494] | 40 | # Cambiar nombre en sistemas Windows. |
---|
[9fb5086] | 41 | if [ "$(ogGetOsType $3 $4)" = "Windows" ]; then |
---|
| 42 | HOST=$(ogGetHostname) |
---|
| 43 | HOST=${HOST:-"UNKNOWN"} |
---|
| 44 | ogEcho info "$PROG: Cambiar nombre Windows a \"$HOST\"." |
---|
[f5432db7] | 45 | ogSetWindowsName $3 $4 "$HOST" |
---|
[1c04494] | 46 | fi |
---|
[f5432db7] | 47 | TIME=$[SECONDS-TIME1] |
---|
| 48 | ogEcho info "$PROG: Duración de la operación $[TIME/60]m $[TIME%60]s" |
---|
[f8f4dfa] | 49 | |
---|
Note: See
TracBrowser
for help on using the repository browser.