[3ec149c] | 1 | #!/bin/bash |
---|
| 2 | |
---|
| 3 | #_______________________________________________________________________________________________________________________________ |
---|
| 4 | # |
---|
| 5 | # Formato de salida: |
---|
[d8d86ff] | 6 | # disk=Número de disco\tpar=Número de particion\tcod=Código de partición\tsfi=Sistema de ficheros\tsoi=Sistema instalado\ttam=Tamaño de la partición\n |
---|
[3ec149c] | 7 | #_______________________________________________________________________________________________________________________________ |
---|
| 8 | |
---|
| 9 | |
---|
[1ccd273] | 10 | # No registrar los errores. |
---|
| 11 | export DEBUG="no" |
---|
| 12 | |
---|
[d8d86ff] | 13 | cfg="" |
---|
| 14 | disks=$(ogDiskToDev | wc -w) |
---|
| 15 | for ((dsk=1; dsk<=$disks; dsk++)); do |
---|
| 16 | particiones=$(ogGetPartitionsNumber $dsk) |
---|
[7aed2cc] | 17 | particiones=${particiones:-0} |
---|
[d8d86ff] | 18 | # Tipo de tabla de particiones: 1=MSDOS, 2=GPT |
---|
| 19 | ptt=$(ogGetPartitionTableType $dsk) |
---|
| 20 | case "$ptt" in |
---|
| 21 | MSDOS) ptt=1 ;; |
---|
| 22 | GPT) ptt=2 ;; |
---|
[fd1846f] | 23 | LVM) ptt=3 ;; |
---|
[9ca55ab] | 24 | ZPOOL) ptt=4 ;; |
---|
[d8d86ff] | 25 | *) ptt=0 ;; |
---|
| 26 | esac |
---|
| 27 | # Información de disco (partición 0) |
---|
[b0c9683] | 28 | cfg="$cfg$dsk:0:$ptt:::$(ogGetDiskSize $dsk):0;" |
---|
[d8d86ff] | 29 | for ((par=1;par<=$particiones;par++)); do |
---|
[5804229] | 30 | # Código del identificador de tipo de partición |
---|
[d8d86ff] | 31 | cod=$(ogGetPartitionId $dsk $par 2>/dev/null) |
---|
[0ae62f1] | 32 | # Tipo del sistema de ficheros |
---|
[d8d86ff] | 33 | fsi=$(getFsType $dsk $par 2>/dev/null) |
---|
[3998421] | 34 | fsi=${fsi:-"EMPTY"} |
---|
| 35 | # Tamaño de la particón |
---|
[d8d86ff] | 36 | tam=$(ogGetPartitionSize $dsk $par 2>/dev/null) |
---|
[3998421] | 37 | tam=${tam:-"0"} |
---|
[0ae62f1] | 38 | # Sistema operativo instalado |
---|
[fd1846f] | 39 | case "$fsi" in |
---|
| 40 | ""|EMPTY|CACHE|LINUX-SWAP|LINUX-LVM) |
---|
[b0c9683] | 41 | soi=""; uso=0 ;; |
---|
[0ae62f1] | 42 | *) soi=$(getOsVersion $dsk $par 2>/dev/null | cut -f2 -d:) |
---|
| 43 | # Sistema de archivos para datos (sistema operativo "DATA") |
---|
[c2ee4a7] | 44 | [ -z "$soi" -a "$fsi" != "EMPTY" -a "$fsi" != "CACHE" ] && soi="DATA" |
---|
[9ca55ab] | 45 | # Obtener porcentaje de uso. |
---|
[89cb5a5] | 46 | uso=$(df $(ogGetMountPoint $dsk $par) | awk '{getline; printf "%d",$5}') |
---|
[b0c9683] | 47 | uso=${uso:0} |
---|
[0ae62f1] | 48 | ;; |
---|
[8baebd4] | 49 | esac |
---|
[b0c9683] | 50 | cfg="$cfg$dsk:$par:$cod:$fsi:$soi:$tam:$uso;" |
---|
[d8d86ff] | 51 | done |
---|
[3ec149c] | 52 | done |
---|
| 53 | |
---|
[aaf78bd] | 54 | # Crear configuración por defecto para cliente sin disco. |
---|
| 55 | [ -z "$cfg" ] && cfg="1:0:0:::0;" |
---|
| 56 | |
---|
[d8d86ff] | 57 | # Guardar salida en fichero temporal. |
---|
| 58 | cfgfile=/tmp/getconfig |
---|
| 59 | echo $cfg > $cfgfile |
---|
| 60 | |
---|
[0ae62f1] | 61 | # Crear el menú por defecto a partir del fichero generado (no dar ninguna salida). |
---|
[670d639] | 62 | generateMenuDefault &>/dev/null |
---|
| 63 | |
---|
[d8d86ff] | 64 | # Componer salida formateada. |
---|
| 65 | awk '{ n=split($0,sep,";"); |
---|
| 66 | for (i=1; i<n; i++){ |
---|
| 67 | split (sep[i],dua,":"); |
---|
[b0c9683] | 68 | printf ("disk=%s\tpar=%s\tcpt=%s\tfsi=%s\tsoi=%s\ttam=%s\tuso=%s\n", |
---|
| 69 | dua[1],dua[2],dua[3],dua[4],dua[5],dua[6],dua[7]); |
---|
[d8d86ff] | 70 | } |
---|
| 71 | }' $cfgfile |
---|
[3ec149c] | 72 | |
---|
[1ccd273] | 73 | # Volver a registrar los errores. |
---|
| 74 | unset DEBUG |
---|
| 75 | |
---|