mirror of
				https://github.com/byReqz/stocheck.git
				synced 2025-11-04 04:31:29 +00:00 
			
		
		
		
	add support for 3ware raid controllers
This commit is contained in:
		
							
								
								
									
										72
									
								
								stocheck.sh
									
									
									
									
									
								
							
							
						
						
									
										72
									
								
								stocheck.sh
									
									
									
									
									
								
							@@ -8,31 +8,81 @@ if [[ $(curl -s https://raw.githubusercontent.com/byReqz/stocheck/main/stocheck.
 | 
				
			|||||||
  echo ""
 | 
					  echo ""
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
while [ ! -n "$1" ]; do
 | 
					while [ ! -n "$1" ]; do
 | 
				
			||||||
if [[ -n $(ls /sys/block | grep sd) ]];then
 | 
					  raidcheck="$(lspci | grep RAID)"
 | 
				
			||||||
 | 
					  if [[ -z "$raidcheck" ]];then
 | 
				
			||||||
 | 
					    if [[ -n $(ls /sys/block | grep sd) ]];then
 | 
				
			||||||
        echo "===  sata drive check: ==="
 | 
					        echo "===  sata drive check: ==="
 | 
				
			||||||
        for x in {a..z};do
 | 
					        for x in {a..z};do
 | 
				
			||||||
          scan=$(smartctl --scan)
 | 
					          scan=$(smartctl --scan)
 | 
				
			||||||
          if [[ -n $(echo $scan | grep /dev/sd$x) ]];then
 | 
					          if [[ -n $(echo $scan | grep /dev/sd$x) ]];then
 | 
				
			||||||
        echo "------------------- /dev/sd$x --------------------";
 | 
					            echo "------------------- /dev/sd$x --------------------"
 | 
				
			||||||
            smartctl -H -i /dev/sd$x;
 | 
					            smartctl -H -i /dev/sd$x;
 | 
				
			||||||
        echo "-------------------------------------------------";
 | 
					            echo "-------------------------------------------------"
 | 
				
			||||||
          fi
 | 
					          fi
 | 
				
			||||||
        done
 | 
					        done
 | 
				
			||||||
if [[ -n $(ls /dev | grep nvme) ]];then
 | 
					    if [[ -n $(ls /dev | grep nvme) ]];then
 | 
				
			||||||
        echo "===  nvme drive check: ==="
 | 
					        echo "===  nvme drive check: ==="
 | 
				
			||||||
        for x in {0..4};do
 | 
					        for x in {0..4};do
 | 
				
			||||||
          scan=$(smartctl --scan)
 | 
					          scan=$(smartctl --scan)
 | 
				
			||||||
          if [[ -n $(echo $scan | grep /dev/nvme$x) ]];then
 | 
					          if [[ -n $(echo $scan | grep /dev/nvme$x) ]];then
 | 
				
			||||||
	    echo "------------------- /dev/nvme$x --------------------";
 | 
					          echo "------------------- /dev/nvme$x --------------------"
 | 
				
			||||||
          smartctl -H -i /dev/nvme$x;
 | 
					          smartctl -H -i /dev/nvme$x;
 | 
				
			||||||
	    echo "---------------------------------------------------";
 | 
					          echo "---------------------------------------------------"
 | 
				
			||||||
          fi
 | 
					          fi
 | 
				
			||||||
        done
 | 
					        done
 | 
				
			||||||
else
 | 
					    else
 | 
				
			||||||
        exit
 | 
					        exit
 | 
				
			||||||
fi
 | 
					    fi
 | 
				
			||||||
fi
 | 
					    fi
 | 
				
			||||||
done
 | 
					  if [[ "$raidcheck" =~ "3ware" ]];then
 | 
				
			||||||
 | 
					    echo "3ware raid-controller detected"
 | 
				
			||||||
 | 
					    dreiware=$(tw_cli show | grep c | cut -c -3)
 | 
				
			||||||
 | 
					    echo "------------------- 3ware controller: $dreiware --------------------"
 | 
				
			||||||
 | 
					    tw_cli /$dreiware show
 | 
				
			||||||
 | 
					    echo "---------------------------------------------------------------"
 | 
				
			||||||
 | 
					    dreiwareversion=$(ls /dev/ | grep t)
 | 
				
			||||||
 | 
					    if [[ -n $(echo $dreiwareversion | grep twe0) ]];then
 | 
				
			||||||
 | 
					      echo "6000/7000/8000 series controller detected"
 | 
				
			||||||
 | 
					      echo "---------------------------------------------------------------"
 | 
				
			||||||
 | 
					        dreiwaredrives=$(tw_cli /$dreiware show | grep p | cut -c -3)
 | 
				
			||||||
 | 
					        echo "===  sata drive check: ==="
 | 
				
			||||||
 | 
					        for x in {0..20};do
 | 
				
			||||||
 | 
					          if [[ -n $(echo $dreiwaredrives | grep p$x) ]];then
 | 
				
			||||||
 | 
					            echo "------------------- p$x --------------------"
 | 
				
			||||||
 | 
					            smartctl -a -d 3ware,p$x /dev/twe0
 | 
				
			||||||
 | 
					            echo "-------------------------------------------"
 | 
				
			||||||
 | 
					          fi
 | 
				
			||||||
 | 
					        done
 | 
				
			||||||
 | 
					    elif [[ -n $(echo $dreiwareversion | grep twa0) ]];then
 | 
				
			||||||
 | 
					      echo "9000 series controller detected"
 | 
				
			||||||
 | 
					      echo "---------------------------------------------------------------"
 | 
				
			||||||
 | 
					        dreiwaredrives=$(tw_cli /$dreiware show | grep p | cut -c -3)
 | 
				
			||||||
 | 
					        echo "===  sata drive check: ==="
 | 
				
			||||||
 | 
					        for x in {0..20};do
 | 
				
			||||||
 | 
					          if [[ -n $(echo $dreiwaredrives | grep p$x) ]];then
 | 
				
			||||||
 | 
					            echo "------------------- p$x --------------------"
 | 
				
			||||||
 | 
					            smartctl -a -d 3ware,p$x /dev/twa0
 | 
				
			||||||
 | 
					            echo "-------------------------------------------"
 | 
				
			||||||
 | 
					          fi
 | 
				
			||||||
 | 
					        done
 | 
				
			||||||
 | 
					    elif [[ -n $(echo $dreiwareversion | grep twl0) ]];then
 | 
				
			||||||
 | 
					      echo "9750 series controller detected"
 | 
				
			||||||
 | 
					      echo "---------------------------------------------------------------"
 | 
				
			||||||
 | 
					        dreiwaredrives=$(tw_cli /$dreiware show | grep p | cut -c -3)
 | 
				
			||||||
 | 
					        echo "===  sata drive check: ==="
 | 
				
			||||||
 | 
					        for x in {0..20};do
 | 
				
			||||||
 | 
					          if [[ -n $(echo $dreiwaredrives | grep p$x) ]];then
 | 
				
			||||||
 | 
					            echo "------------------- p$x --------------------"
 | 
				
			||||||
 | 
					            smartctl -a -d 3ware,p$x /dev/twl0
 | 
				
			||||||
 | 
					            echo "-------------------------------------------"
 | 
				
			||||||
 | 
					          fi
 | 
				
			||||||
 | 
					        done
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					      echo "reading smart values for this controller series is not supported"
 | 
				
			||||||
 | 
					      exit
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					#adding further controllers here
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
while [ ! -z "$1" ]; do
 | 
					while [ ! -z "$1" ]; do
 | 
				
			||||||
      if [[ $1 == "-u" ]] || [[ "$1" == "--update" ]];then
 | 
					      if [[ $1 == "-u" ]] || [[ "$1" == "--update" ]];then
 | 
				
			||||||
        if [[ $(curl -s https://raw.githubusercontent.com/byReqz/stocheck/main/stocheck.sh | md5sum | cut -c -32) != $(md5sum $0 | cut -c -32) ]];then
 | 
					        if [[ $(curl -s https://raw.githubusercontent.com/byReqz/stocheck/main/stocheck.sh | md5sum | cut -c -32) != $(md5sum $0 | cut -c -32) ]];then
 | 
				
			||||||
@@ -55,3 +105,5 @@ while [ ! -z "$1" ]; do
 | 
				
			|||||||
         exit
 | 
					         exit
 | 
				
			||||||
      fi
 | 
					      fi
 | 
				
			||||||
done
 | 
					done
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
		Reference in New Issue
	
	Block a user