diff --git a/Files/autofan-dl360p-g8-EXSI.sh b/Files/autofan-dl360p-g8-EXSI.sh index 778881f..bcd3605 100644 --- a/Files/autofan-dl360p-g8-EXSI.sh +++ b/Files/autofan-dl360p-g8-EXSI.sh @@ -8,142 +8,161 @@ # rm mycron # chmod +x /autofan.sh # -PASSWORD="your password" -USERNAME="your username" -ILOIP="your ilo ip" + +PASSWORD="YOUR_ILO_PASSWORD" +USERNAME="YOUR_ILO_USER" +ILOIP="YOUR_ILO_IP" FILE="/usr/bin/sshpass" if [ -f "$FILE" ]; then echo "sshpass already loaded." -else -esxcli network firewall ruleset set -e true -r httpClient -pwdlocation=$(pwd) -cd /tmp -wget https://github.com/thomaswilbur/HP-ILO-Fan-Control/blob/main/Files/sshpass?raw=true --no-check-certificate -mv sshpass?raw=true /usr/bin/sshpass -chmod +x sshpass -cd pwdlocation + +else + esxcli network firewall ruleset set -e true -r httpClient + pwdlocation=$(pwd) + cd /tmp + wget https://github.com/thomaswilbur/HP-ILO-Fan-Control/blob/main/Files/sshpass?raw=true --no-check-certificate + mv sshpass?raw=true /usr/bin/sshpass + chmod +x sshpass + cd pwdlocation echo "sshpass loaded." fi esxcli network firewall ruleset set -e true -r sshClient + #T1="$(sensors -Aj coretemp-isa-0000 | jq '.[][] | to_entries[] | select(.key | endswith("input")) | .value' | sort -rn | head -n1)" #T2="$(sensors -Aj coretemp-isa-0001 | jq '.[][] | to_entries[] | select(.key | endswith("input")) | .value' | sort -rn | head -n1)" + sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP show /system1/sensor2 > temp.txt T1CLEAN=$(grep -Ihr "CurrentReading" temp.txt) T1=$(echo "${T1CLEAN/ CurrentReading=/}" | xargs) rm -rf temp.txt + sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP show /system1/sensor3 > temp.txt T2CLEAN=$(grep -Ihr "CurrentReading" temp.txt) T2=$(echo "${T2CLEAN/ CurrentReading=/}" | xargs) rm -rf temp.txt + T1=${T1//$'\n'/} T2=${T2//$'\n'/} T1=${T1%$'\n'} T2=${T2%$'\n'} - echo "CPU 1 Temp $T1 C" - if [[ $T1 > 87 ]] then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 4 max 80' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 80' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 6 max 80' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 7 max 80' + elif [[ $T1 > 77 ]] then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 4 max 70' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 70' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 6 max 70' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 7 max 70' + elif [[ $T1 > 67 ]] then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 4 max 39' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 39' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 6 max 39' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 7 max 39' + elif [[ $T1 > 58 ]] then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 4 max 30' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 30' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 6 max 30' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 7 max 30' + elif [[ $T1 > 54 ]] then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 4 max 28' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 28' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 6 max 28' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 7 max 28' + elif [[ $T1 > 52 ]] then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 4 max 24' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 24' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 6 max 24' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 7 max 24' + elif [[ $T1 > 50 ]] then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 4 max 22' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 22' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 6 max 22' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 7 max 22' + else sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 4 max 20' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 20' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 6 max 20' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 7 max 20' + fi echo "CPU 2 Temp $T2 C" - if [[ $T2 > 87 ]] then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 0 max 80' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 1 max 80' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 2 max 80' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 3 max 80' + elif [[ $T2 > 77 ]] then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 0 max 70' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 1 max 70' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 2 max 70' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 3 max 70' + elif [[ $T1 > 67 ]] then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 0 max 39' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 1 max 39' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 2 max 39' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 3 max 39' + elif [[ $T2 > 58 ]] then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 0 max 30' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 1 max 30' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 2 max 30' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 3 max 30' + elif [[ $T2 > 54 ]] then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 0 max 28' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 1 max 28' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 2 max 28' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 3 max 28' + elif [[ $T2 > 52 ]] then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 0 max 24' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 1 max 24' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 2 max 24' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 3 max 24' + elif [[ $T2 > 50 ]] then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 0 max 22' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 1 max 22' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 2 max 22' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 3 max 22' + else sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 0 max 20' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 1 max 20' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 2 max 20' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 3 max 20' + fi diff --git a/Files/autofan-dl380p-g8-EXSI.sh b/Files/autofan-dl380p-g8-EXSI.sh index ef9619c..821af41 100644 --- a/Files/autofan-dl380p-g8-EXSI.sh +++ b/Files/autofan-dl380p-g8-EXSI.sh @@ -9,54 +9,61 @@ # chmod +x /autofan.sh # -PASSWORD="YOURILOPASSWORD" -USERNAME="YOURILOUSER" -ILOIP="YOURILOIP" +PASSWORD="YOUR_ILO_PASSWORD" +USERNAME="YOUR_ILO_USER" +ILOIP="YOUR_ILO_IP" FILE="/usr/bin/sshpass" if [ -f "$FILE" ]; then echo "sshpass already loaded." -else -esxcli network firewall ruleset set -e true -r httpClient -pwdlocation=$(pwd) -cd /tmp -wget https://github.com/thomaswilbur/HP-ILO-Fan-Control/blob/main/Files/sshpass?raw=true --no-check-certificate -mv sshpass?raw=true /usr/bin/sshpass -chmod +x sshpass -cd pwdlocation + +else + esxcli network firewall ruleset set -e true -r httpClient + pwdlocation=$(pwd) + cd /tmp + wget https://github.com/thomaswilbur/HP-ILO-Fan-Control/blob/main/Files/sshpass?raw=true --no-check-certificate + mv sshpass?raw=true /usr/bin/sshpass + chmod +x sshpass + cd pwdlocation echo "sshpass loaded." fi esxcli network firewall ruleset set -e true -r sshClient + #T1="$(sensors -Aj coretemp-isa-0000 | jq '.[][] | to_entries[] | select(.key | endswith("input")) | .value' | sort -rn | head -n1)" #T2="$(sensors -Aj coretemp-isa-0001 | jq '.[][] | to_entries[] | select(.key | endswith("input")) | .value' | sort -rn | head -n1)" + sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP show /system1/sensor2 > temp.txt T1CLEAN=$(grep -Ihr "CurrentReading" temp.txt) T1=$(echo "${T1CLEAN/ CurrentReading=/}" | xargs) rm -rf temp.txt + sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP show /system1/sensor3 > temp.txt T2CLEAN=$(grep -Ihr "CurrentReading" temp.txt) T2=$(echo "${T2CLEAN/ CurrentReading=/}" | xargs) rm -rf temp.txt + sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP show /system1/sensor25 > temp.txt T2CLEAN=$(grep -Ihr "CurrentReading" temp.txt) RAID=$(echo "${T2CLEAN/ CurrentReading=/}" | xargs) rm -rf temp.txt + T1=${T1//$'\n'/} T2=${T2//$'\n'/} RAID=${RAID//$'\n'/} + T1=${T1%$'\n'} T2=${T2%$'\n'} RAID=${RAID%$'\n'} echo "CPU 1 Temp $T1 C" - if [[ $T1 > 67 ]] then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 3 max 255' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 4 max 255' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 255' + elif [[ $T1 > 58 ]] then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 3 max 39' @@ -68,20 +75,24 @@ elif [[ $T1 > 54 ]] sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 3 max 38' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 4 max 38' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 38' + elif [[ $T1 > 52 ]] then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 3 max 34' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 4 max 34' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 34' + elif [[ $T1 > 50 ]] then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 3 max 32' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 4 max 32' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 32' + else sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 3 max 30' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 4 max 30' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 30' + fi echo "CPU 2 Temp $T2 C" @@ -97,52 +108,66 @@ elif [[ $T2 > 58 ]] sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 0 max 39' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 1 max 39' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 2 max 39' + elif [[ $T2 > 54 ]] then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 0 max 38' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 1 max 38' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 2 max 38' + elif [[ $T2 > 52 ]] then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 0 max 34' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 1 max 34' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 2 max 34' + elif [[ $T2 > 50 ]] then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 0 max 32' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 1 max 32' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 2 max 32' + else sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 0 max 30' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 1 max 30' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 2 max 30' + fi echo "RAID Temp $RAID C" if [[ $RAID > 97 ]] then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 255' + elif [[ $RAID > 95 ]] then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 90' + elif [[ $RAID > 94 ]] then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 85' + elif [[ $RAID > 93 ]] then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 60' + elif [[ $RAID > 92 ]] then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 55' + elif [[ $RAID > 91 ]] then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 50' + elif [[ $RAID > 90 ]] then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 45' + elif [[ $RAID > 89 ]] then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 40' + else sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 35' + fi diff --git a/Files/autofan-dl380p-g8.sh b/Files/autofan-dl380p-g8.sh index be54bd0..7094613 100644 --- a/Files/autofan-dl380p-g8.sh +++ b/Files/autofan-dl380p-g8.sh @@ -1,4 +1,3 @@ - #!/bin/bash # # crontab -l > mycron @@ -9,9 +8,11 @@ # rm mycron # chmod +x /autofan.sh # -PASSWORD="YOURILOPASSWORD" -USERNAME="YOURILOUSER" -ILOIP="YOURILOIP" + +PASSWORD="YOUR_ILO_PASSWORD" +USERNAME="YOUR_ILO_USER" +ILOIP="YOUR_ILO_IP" + T1="$(sensors -Aj coretemp-isa-0000 | jq '.[][] | to_entries[] | select(.key | endswith("input")) | .value' | sort -rn | head -n1)" T2="$(sensors -Aj coretemp-isa-0001 | jq '.[][] | to_entries[] | select(.key | endswith("input")) | .value' | sort -rn | head -n1)" @@ -24,6 +25,7 @@ if [[ $T1 > 67 ]] sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 255' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 4 max 255' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 5 max 255' + elif [[ $T1 > 58 ]] then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 39' @@ -35,20 +37,24 @@ elif [[ $T1 > 54 ]] sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 38' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 4 max 38' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 5 max 38' + elif [[ $T1 > 52 ]] then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 34' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 4 max 34' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 5 max 34' + elif [[ $T1 > 50 ]] then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 32' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 4 max 32' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 5 max 32' + else sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 30' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 4 max 30' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 5 max 30' + fi echo "===============" @@ -61,28 +67,34 @@ if [[ $T2 > 67 ]] sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 1 max 255' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 2 max 255' + elif [[ $T2 > 58 ]] then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 0 max 39' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 1 max 39' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 2 max 39' + elif [[ $T2 > 54 ]] then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 0 max 38' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 1 max 38' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 2 max 38' + elif [[ $T2 > 52 ]] then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 0 max 34' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 1 max 34' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 2 max 34' + elif [[ $T2 > 50 ]] then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 0 max 32' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 1 max 32' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 2 max 32' + else sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 0 max 30' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 1 max 30' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 2 max 30' + fi diff --git a/Files/autofan.sh b/Files/autofan.sh index 69bdd2f..c3170f8 100644 --- a/Files/autofan.sh +++ b/Files/autofan.sh @@ -1,4 +1,3 @@ - #!/bin/bash # # crontab -l > mycron @@ -9,9 +8,11 @@ # rm mycron # chmod +x /autofan.sh # -PASSWORD="your password" -USERNAME="your username" -ILOIP="your ilo ip" + +PASSWORD="YOUR_ILO_PASSWORD" +USERNAME="YOUR_ILO_USER" +ILOIP="YOUR_ILO_IP" + T1="$(sensors -Aj coretemp-isa-0000 | jq '.[][] | to_entries[] | select(.key | endswith("input")) | .value' | sort -rn | head -n1)" T2="$(sensors -Aj coretemp-isa-0001 | jq '.[][] | to_entries[] | select(.key | endswith("input")) | .value' | sort -rn | head -n1)" @@ -25,47 +26,55 @@ if [[ $T1 > 87 ]] sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 5 max 80' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 6 max 80' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 7 max 80' + elif [[ $T1 > 77 ]] then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 4 max 70' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 5 max 70' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 6 max 70' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 7 max 70' + elif [[ $T1 > 67 ]] then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 4 max 39' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 5 max 39' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 6 max 39' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 7 max 39' + elif [[ $T1 > 58 ]] then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 4 max 30' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 5 max 30' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 6 max 30' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 7 max 30' + elif [[ $T1 > 54 ]] then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 4 max 28' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 5 max 28' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 6 max 28' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 7 max 28' + elif [[ $T1 > 52 ]] then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 4 max 24' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 5 max 24' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 6 max 24' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 7 max 24' + elif [[ $T1 > 50 ]] then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 4 max 22' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 5 max 22' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 6 max 22' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 7 max 22' + else sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 4 max 20' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 5 max 20' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 6 max 20' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 7 max 20' + fi echo "===============" @@ -78,45 +87,53 @@ if [[ $T2 > 87 ]] sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 1 max 80' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 2 max 80' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 80' + elif [[ $T2 > 77 ]] then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 0 max 70' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 1 max 70' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 2 max 70' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 70' + elif [[ $T2 > 67 ]] then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 0 max 39' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 1 max 39' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 2 max 39' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 39' + elif [[ $T2 > 58 ]] then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 0 max 30' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 1 max 30' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 2 max 30' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 30' + elif [[ $T2 > 54 ]] then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 0 max 28' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 1 max 28' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 2 max 28' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 28' + elif [[ $T2 > 52 ]] then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 0 max 24' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 1 max 24' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 2 max 24' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 24' + elif [[ $T2 > 50 ]] then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 0 max 22' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 1 max 22' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 2 max 22' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 22' + else sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 0 max 20' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 1 max 20' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 2 max 20' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 20' + fi diff --git a/install.sh b/install.sh index 4c0222d..caccd22 100644 --- a/install.sh +++ b/install.sh @@ -3,52 +3,64 @@ if [ $(id -u) -ne 0 ]; then echo -e "\e[31mThis must be run as root!\e[0m" exit 126 + fi echo "You are about to download and install the required items for HP ILO4 fan control." read -rep "Do you accept? (y/N): " ACCEPTED + if [[ ${ACCEPTED,,} =~ ^[y] ]]; then mkdir -p ~/autofan cd ~/autofan + echo "Installing required packages..." apt install sshpass wget lm-sensors jq -y echo -e "\e[92mDownloading ILO_250 for ROM upgrade\e[0m" wget -q https://github.com/That-Guy-Jack/HP-ILO-Fan-Control/tree/main/Files/ilo_250 + echo -e "\e[92m Creating autofan service\e[0m" wget -q https://raw.githubusercontent.com/That-Guy-Jack/HP-ILO-Fan-Control/main/Files/autofan.service mv autofan.service /etc/systemd/system/ echo -e "\e[92m autofan service created\e[0m" + read -rep $'Which server are you running? (Enter 1-4) 1. DL360p G8 (No ESXi) 2. DL380p G8 (no ESXi) 3. DL360p G8 (ESXi-based) 4. DL380p G8 (ESXi-based)\n' HOSTCHOICE + case $HOSTCHOICE in 1) AUTOFANFILE="autofan.sh" HOSTTYPE="DL360p G8 (No ESXi)" ;; + 2) AUTOFANFILE="autofan-dl380p-g8.sh" HOSTTYPE="DL380p G8 (No ESXi)" ;; + 3) AUTOFANFILE="autofan-dl360p-g8-EXSI.sh" HOSTTYPE="DL360p G8 (ESXi-based)" ;; + 4) AUTOFANFILE="autofan-dl380p-g8-EXSI.sh" HOSTTYPE="DL370p G8 (ESXi-based)" ;; + *) echo -e "\e[31mInvalid choice. Exiting.\e[0m" exit 1 ;; + esac echo "Preping autofan.sh for $HOSTTYPE" echo "Downloading latest autofan.sh" wget -q https://raw.githubusercontent.com/That-Guy-Jack/HP-ILO-Fan-Control/main/Files/$AUTOFANFILE -O autofan.sh + read -rep 'Enter iLO Username: ' ILOUSERNAME read -rep 'Enter iLO Password: ' ILOPASSWORD read -rep 'Enter iLO IP/hostname: ' ILOHOST @@ -59,7 +71,9 @@ if [[ ${ACCEPTED,,} =~ ^[y] ]]; then echo -e "\e[92mDone! Please visit the GitHub page to follow the instructions!\e[0m" echo -e "\e[1\https://github.com/That-Guy-Jack/HP-ILO-Fan-Control\e[0m" + else echo -e "\e[31m:( exiting\e[0m" exit 0 + fi