Statistiques
| Révision :

root / bin / get-disk-info @ 27

Historique | Voir | Annoter | Télécharger (2,52 ko)

1 1 kreverch
#!/bin/bash
2 1 kreverch
SMARTTOOL="/usr/sbin/smartctl"
3 1 kreverch
4 1 kreverch
5 1 kreverch
6 1 kreverch
function usage {
7 1 kreverch
  echo "Syntax :"
8 1 kreverch
  echo "$0 -d device_name"
9 1 kreverch
}
10 1 kreverch
11 1 kreverch
function nointeractive {
12 1 kreverch
13 1 kreverch
FIRST_TEST=$($SMARTTOOL $DEVBYID)
14 1 kreverch
if [ $? -eq 0 ]
15 1 kreverch
then
16 1 kreverch
   while read line
17 1 kreverch
   do
18 1 kreverch
    if [[ "$line" =~ ":" ]]
19 1 kreverch
    then
20 1 kreverch
       echo $line
21 1 kreverch
    fi
22 1 kreverch
23 1 kreverch
   done <<< "$($SMARTTOOL -i -H $DEVBYID)"
24 19 ltaulell
   DEVBYIDNOPART=$(echo $DEVBYID |sed -e "s/\/dev\/disk\/by-vdev\///g" |sed -e "s/-part1$//g")
25 19 ltaulell
   if [ "$DEVBYIDNOPART" == "" ]
26 19 ltaulell
   then
27 19 ltaulell
        DEVBYIDNOPART=$(echo $DEVBYID |sed -e "s/\/dev\/disk\/by-id\///g" |sed -e "s/-part1$//g")
28 19 ltaulell
   fi
29 1 kreverch
   echo "nameinzpool:$DEVBYIDNOPART"
30 1 kreverch
   errorread=$(/sbin/zpool status |grep "$DEVBYIDNOPART"|sed -e "s/\t//g" |sed -e "s/ \+/ /g" | sed -e "s/^ //g"|cut -d " " -f3)
31 1 kreverch
   echo "errorread:$errorread"
32 1 kreverch
   errorwrite=$(/sbin/zpool status |grep "$DEVBYIDNOPART"|sed -e "s/\t//g" |sed -e "s/ \+/ /g" | sed -e "s/^ //g"|cut -d " " -f4)
33 1 kreverch
   echo "errorwrite:$errorwrite"
34 1 kreverch
   errorchecksum=$(/sbin/zpool status |grep "$DEVBYIDNOPART"|sed -e "s/\t//g" |sed -e "s/ \+/ /g" | sed -e "s/^ //g"|cut -d " " -f5)
35 1 kreverch
   echo "errorchecksum:$errorchecksum"
36 1 kreverch
   exit 0
37 1 kreverch
fi
38 1 kreverch
39 1 kreverch
if [[ -e /sbin/multipath ]] || [[ -e /usr/sbin/multipath ]] || [[ -e /usr/local/sbin/multipath ]]
40 1 kreverch
then
41 1 kreverch
42 22 kreverch
    resultMulti=$(multipath -v 2 -l $DEVBYID |sed -e 's/(/disk_id=/g' |sed -e 's/)//g'|cut -d " " -f2 |grep disk_id|cut -d '=' -f2)
43 1 kreverch
    if [ "$resultMulti" != ""  ]
44 1 kreverch
    then
45 1 kreverch
        while read liner
46 1 kreverch
        do
47 1 kreverch
          if [[ "$liner" =~ ":" ]]
48 1 kreverch
          then
49 1 kreverch
              echo $liner
50 1 kreverch
          fi
51 1 kreverch
        done<<< "$($SMARTTOOL -i -H /dev/disk/by-id/scsi-$resultMulti)"
52 1 kreverch
        DEVBYIDNOPART=$(echo $DEVBYID|cut -d "/" -f4)
53 1 kreverch
        echo "nameinzpool:$DEVBYIDNOPART"
54 1 kreverch
        errorread=$(/sbin/zpool status |grep "$DEVBYIDNOPART "|sed -e "s/\t//g" |sed -e "s/ \+/ /g" | sed -e "s/^ //g"|cut -d " " -f3)
55 1 kreverch
        echo "errorread:$errorread"
56 1 kreverch
        errorwrite=$(/sbin/zpool status |grep "$DEVBYIDNOPART "|sed -e "s/\t//g" |sed -e "s/ \+/ /g" | sed -e "s/^ //g"|cut -d " " -f4)
57 1 kreverch
        echo "errorwrite:$errorwrite"
58 1 kreverch
        errorchecksum=$(/sbin/zpool status |grep "$DEVBYIDNOPART "|sed -e "s/\t//g" |sed -e "s/ \+/ /g" | sed -e "s/^ //g"|cut -d " " -f5)
59 1 kreverch
        echo "errorchecksum:$errorchecksum"
60 1 kreverch
        exit 0
61 1 kreverch
    fi
62 1 kreverch
fi
63 1 kreverch
64 1 kreverch
echo "no informations disk"
65 1 kreverch
}
66 1 kreverch
67 1 kreverch
while getopts "d:h" OPTION
68 1 kreverch
do
69 1 kreverch
     case $OPTION in
70 1 kreverch
         h)
71 1 kreverch
             usage
72 1 kreverch
             exit 1
73 1 kreverch
             ;;
74 1 kreverch
         d)
75 1 kreverch
            DEVBYID=$OPTARG
76 1 kreverch
            ;;
77 1 kreverch
         *)
78 1 kreverch
           usage
79 1 kreverch
           exit 1
80 1 kreverch
           ;;
81 1 kreverch
     esac
82 1 kreverch
done
83 1 kreverch
if [[ -z $DEVBYID ]]
84 1 kreverch
then
85 1 kreverch
     usage
86 1 kreverch
     exit 1
87 1 kreverch
fi
88 1 kreverch
89 1 kreverch
nointeractive