Statistiques
| Révision :

root / bin / get-disk-info @ 2

Historique | Voir | Annoter | Télécharger (2,38 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 1 kreverch
   DEVBYIDNOPART=$(echo $DEVBYID |sed -e "s/\/dev\/disk\/by-id\///g" |sed -e "s/-part1$//g")
25 1 kreverch
   echo "nameinzpool:$DEVBYIDNOPART"
26 1 kreverch
   errorread=$(/sbin/zpool status |grep "$DEVBYIDNOPART"|sed -e "s/\t//g" |sed -e "s/ \+/ /g" | sed -e "s/^ //g"|cut -d " " -f3)
27 1 kreverch
   echo "errorread:$errorread"
28 1 kreverch
   errorwrite=$(/sbin/zpool status |grep "$DEVBYIDNOPART"|sed -e "s/\t//g" |sed -e "s/ \+/ /g" | sed -e "s/^ //g"|cut -d " " -f4)
29 1 kreverch
   echo "errorwrite:$errorwrite"
30 1 kreverch
   errorchecksum=$(/sbin/zpool status |grep "$DEVBYIDNOPART"|sed -e "s/\t//g" |sed -e "s/ \+/ /g" | sed -e "s/^ //g"|cut -d " " -f5)
31 1 kreverch
   echo "errorchecksum:$errorchecksum"
32 1 kreverch
   exit 0
33 1 kreverch
fi
34 1 kreverch
35 1 kreverch
if [[ -e /sbin/multipath ]] || [[ -e /usr/sbin/multipath ]] || [[ -e /usr/local/sbin/multipath ]]
36 1 kreverch
then
37 1 kreverch
38 1 kreverch
    resultMulti=$(multipath -l $DEVBYID |sed -e 's/(/disk_id=/g' |sed -e 's/)//g'|cut -d " " -f2 |grep disk_id|cut -d '=' -f2)
39 1 kreverch
    if [ "$resultMulti" != ""  ]
40 1 kreverch
    then
41 1 kreverch
        while read liner
42 1 kreverch
        do
43 1 kreverch
          if [[ "$liner" =~ ":" ]]
44 1 kreverch
          then
45 1 kreverch
              echo $liner
46 1 kreverch
          fi
47 1 kreverch
        done<<< "$($SMARTTOOL -i -H /dev/disk/by-id/scsi-$resultMulti)"
48 1 kreverch
        DEVBYIDNOPART=$(echo $DEVBYID|cut -d "/" -f4)
49 1 kreverch
        echo "nameinzpool:$DEVBYIDNOPART"
50 1 kreverch
        errorread=$(/sbin/zpool status |grep "$DEVBYIDNOPART "|sed -e "s/\t//g" |sed -e "s/ \+/ /g" | sed -e "s/^ //g"|cut -d " " -f3)
51 1 kreverch
        echo "errorread:$errorread"
52 1 kreverch
        errorwrite=$(/sbin/zpool status |grep "$DEVBYIDNOPART "|sed -e "s/\t//g" |sed -e "s/ \+/ /g" | sed -e "s/^ //g"|cut -d " " -f4)
53 1 kreverch
        echo "errorwrite:$errorwrite"
54 1 kreverch
        errorchecksum=$(/sbin/zpool status |grep "$DEVBYIDNOPART "|sed -e "s/\t//g" |sed -e "s/ \+/ /g" | sed -e "s/^ //g"|cut -d " " -f5)
55 1 kreverch
        echo "errorchecksum:$errorchecksum"
56 1 kreverch
        exit 0
57 1 kreverch
    fi
58 1 kreverch
fi
59 1 kreverch
60 1 kreverch
echo "no informations disk"
61 1 kreverch
}
62 1 kreverch
63 1 kreverch
while getopts "d:h" OPTION
64 1 kreverch
do
65 1 kreverch
     case $OPTION in
66 1 kreverch
         h)
67 1 kreverch
             usage
68 1 kreverch
             exit 1
69 1 kreverch
             ;;
70 1 kreverch
         d)
71 1 kreverch
            DEVBYID=$OPTARG
72 1 kreverch
            ;;
73 1 kreverch
         *)
74 1 kreverch
           usage
75 1 kreverch
           exit 1
76 1 kreverch
           ;;
77 1 kreverch
     esac
78 1 kreverch
done
79 1 kreverch
if [[ -z $DEVBYID ]]
80 1 kreverch
then
81 1 kreverch
     usage
82 1 kreverch
     exit 1
83 1 kreverch
fi
84 1 kreverch
85 1 kreverch
nointeractive