Merge pull request #24 from Arszilla/main

Improvemenets and Fixes
This commit is contained in:
Jack 2022-12-31 12:31:57 +00:00 committed by GitHub
commit b3111a7deb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 393 additions and 359 deletions

View File

@ -8,142 +8,147 @@
# rm mycron # rm mycron
# chmod +x /autofan.sh # chmod +x /autofan.sh
# #
PASSWORD="your password"
USERNAME="your username" PASSWORD="YOUR_ILO_PASSWORD"
ILOIP="your ilo ip" USERNAME="YOUR_ILO_USER"
ILOIP="YOUR_ILO_IP"
FILE="/usr/bin/sshpass" FILE="/usr/bin/sshpass"
if [ -f "$FILE" ]; then if [ -f "$FILE" ]; then
echo "sshpass already loaded." echo "sshpass already loaded."
else
esxcli network firewall ruleset set -e true -r httpClient else
pwdlocation=$(pwd) esxcli network firewall ruleset set -e true -r httpClient
cd /tmp pwdlocation=$(pwd)
wget https://github.com/thomaswilbur/HP-ILO-Fan-Control/blob/main/Files/sshpass?raw=true --no-check-certificate cd /tmp
mv sshpass?raw=true /usr/bin/sshpass wget https://github.com/thomaswilbur/HP-ILO-Fan-Control/blob/main/Files/sshpass?raw=true --no-check-certificate
chmod +x sshpass mv sshpass?raw=true /usr/bin/sshpass
cd pwdlocation chmod +x sshpass
cd pwdlocation
echo "sshpass loaded." echo "sshpass loaded."
fi fi
esxcli network firewall ruleset set -e true -r sshClient 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)" #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)" #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 sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP show /system1/sensor2 > temp.txt
T1CLEAN=$(grep -Ihr "CurrentReading" temp.txt) T1CLEAN=$(grep -Ihr "CurrentReading" temp.txt)
T1=$(echo "${T1CLEAN/ CurrentReading=/}" | xargs) T1=$(echo "${T1CLEAN/ CurrentReading=/}" | xargs)
rm -rf temp.txt rm -rf temp.txt
sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP show /system1/sensor3 > 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) T2CLEAN=$(grep -Ihr "CurrentReading" temp.txt)
T2=$(echo "${T2CLEAN/ CurrentReading=/}" | xargs) T2=$(echo "${T2CLEAN/ CurrentReading=/}" | xargs)
rm -rf temp.txt rm -rf temp.txt
T1=${T1//$'\n'/} T1=${T1//$'\n'/}
T2=${T2//$'\n'/} T2=${T2//$'\n'/}
T1=${T1%$'\n'} T1=${T1%$'\n'}
T2=${T2%$'\n'} T2=${T2%$'\n'}
echo "CPU 1 Temp $T1 C" 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'
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 fi
echo "CPU 2 Temp $T2 C" 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'
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 fi

View File

@ -9,140 +9,148 @@
# chmod +x /autofan.sh # chmod +x /autofan.sh
# #
PASSWORD="YOURILOPASSWORD" PASSWORD="YOUR_ILO_PASSWORD"
USERNAME="YOURILOUSER" USERNAME="YOUR_ILO_USER"
ILOIP="YOURILOIP" ILOIP="YOUR_ILO_IP"
FILE="/usr/bin/sshpass" FILE="/usr/bin/sshpass"
if [ -f "$FILE" ]; then if [ -f "$FILE" ]; then
echo "sshpass already loaded." echo "sshpass already loaded."
else
esxcli network firewall ruleset set -e true -r httpClient else
pwdlocation=$(pwd) esxcli network firewall ruleset set -e true -r httpClient
cd /tmp pwdlocation=$(pwd)
wget https://github.com/thomaswilbur/HP-ILO-Fan-Control/blob/main/Files/sshpass?raw=true --no-check-certificate cd /tmp
mv sshpass?raw=true /usr/bin/sshpass wget https://github.com/thomaswilbur/HP-ILO-Fan-Control/blob/main/Files/sshpass?raw=true --no-check-certificate
chmod +x sshpass mv sshpass?raw=true /usr/bin/sshpass
cd pwdlocation chmod +x sshpass
cd pwdlocation
echo "sshpass loaded." echo "sshpass loaded."
fi fi
esxcli network firewall ruleset set -e true -r sshClient 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)" #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)" #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 sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP show /system1/sensor2 > temp.txt
T1CLEAN=$(grep -Ihr "CurrentReading" temp.txt) T1CLEAN=$(grep -Ihr "CurrentReading" temp.txt)
T1=$(echo "${T1CLEAN/ CurrentReading=/}" | xargs) T1=$(echo "${T1CLEAN/ CurrentReading=/}" | xargs)
rm -rf temp.txt rm -rf temp.txt
sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP show /system1/sensor3 > 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) T2CLEAN=$(grep -Ihr "CurrentReading" temp.txt)
T2=$(echo "${T2CLEAN/ CurrentReading=/}" | xargs) T2=$(echo "${T2CLEAN/ CurrentReading=/}" | xargs)
rm -rf temp.txt rm -rf temp.txt
sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP show /system1/sensor25 > 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) T2CLEAN=$(grep -Ihr "CurrentReading" temp.txt)
RAID=$(echo "${T2CLEAN/ CurrentReading=/}" | xargs) RAID=$(echo "${T2CLEAN/ CurrentReading=/}" | xargs)
rm -rf temp.txt rm -rf temp.txt
T1=${T1//$'\n'/} T1=${T1//$'\n'/}
T2=${T2//$'\n'/} T2=${T2//$'\n'/}
RAID=${RAID//$'\n'/} RAID=${RAID//$'\n'/}
T1=${T1%$'\n'} T1=${T1%$'\n'}
T2=${T2%$'\n'} T2=${T2%$'\n'}
RAID=${RAID%$'\n'} RAID=${RAID%$'\n'}
echo "CPU 1 Temp $T1 C" 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'
if [[ $T1 > 67 ]] elif [[ $T1 > 58 ]]; then
then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 3 max 39'
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 39'
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 39'
sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 255'
elif [[ $T1 > 58 ]] elif [[ $T1 > 54 ]]; then
then 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 3 max 39' 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 4 max 39' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 38'
sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 39'
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'
elif [[ $T1 > 54 ]]
then
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 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 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 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 5 max 30'
fi fi
echo "CPU 2 Temp $T2 C" echo "CPU 2 Temp $T2 C"
if [[ $T2 > 67 ]] if [[ $T2 > 67 ]]; then
then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 0 max 255'
sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 0 max 255' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 1 max 255'
sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 1 max 255' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 2 max 255'
sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 2 max 255'
elif [[ $T2 > 58 ]]; 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'
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'
elif [[ $T2 > 58 ]]
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'
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 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 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 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 2 max 30'
fi fi
echo "RAID Temp $RAID C" echo "RAID Temp $RAID C"
if [[ $RAID > 97 ]] if [[ $RAID > 97 ]]; then
then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 255'
sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 255'
elif [[ $RAID > 95 ]] elif [[ $RAID > 95 ]]; then
then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 90'
sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 90'
elif [[ $RAID > 94 ]] elif [[ $RAID > 94 ]]; then
then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 85'
sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 85'
elif [[ $RAID > 93 ]] elif [[ $RAID > 93 ]]; then
then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 60'
sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 60'
elif [[ $RAID > 92 ]] elif [[ $RAID > 92 ]]; then
then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 55'
sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 55'
elif [[ $RAID > 91 ]] elif [[ $RAID > 91 ]]; then
then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 50'
sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 50'
elif [[ $RAID > 90 ]] elif [[ $RAID > 90 ]]; then
then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 45'
sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 45'
elif [[ $RAID > 89 ]] elif [[ $RAID > 89 ]]; then
then sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 40'
sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 40'
else else
sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 35' sshpass -p $PASSWORD ssh -oStrictHostKeyChecking=no -oKexAlgorithms=+diffie-hellman-group14-sha1 $USERNAME@$ILOIP 'fan p 5 max 35'
fi fi

View File

@ -1,4 +1,3 @@
#!/bin/bash #!/bin/bash
# #
# crontab -l > mycron # crontab -l > mycron
@ -9,9 +8,11 @@
# rm mycron # rm mycron
# chmod +x /autofan.sh # chmod +x /autofan.sh
# #
PASSWORD="YOURILOPASSWORD"
USERNAME="YOURILOUSER" PASSWORD="YOUR_ILO_PASSWORD"
ILOIP="YOURILOIP" 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)" 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)" T2="$(sensors -Aj coretemp-isa-0001 | jq '.[][] | to_entries[] | select(.key | endswith("input")) | .value' | sort -rn | head -n1)"
@ -19,70 +20,70 @@ echo "==============="
echo "CPU 1 Temp $T1 C" echo "CPU 1 Temp $T1 C"
echo "===============" echo "==============="
if [[ $T1 > 67 ]] if [[ $T1 > 67 ]]; then
then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 255'
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 4 max 255' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 5 max 255'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 5 max 255'
elif [[ $T1 > 58 ]] elif [[ $T1 > 58 ]]; then
then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 39'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 39' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 4 max 39'
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 5 max 39'
elif [[ $T1 > 54 ]]; then
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'
elif [[ $T1 > 54 ]]
then
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 else
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 30' 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 4 max 30'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 5 max 30' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 5 max 30'
fi fi
echo "===============" echo "==============="
echo "CPU 2 Temp $T2 C" echo "CPU 2 Temp $T2 C"
echo "===============" echo "==============="
if [[ $T2 > 67 ]] if [[ $T2 > 67 ]]; then
then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 0 max 255'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 0 max 255' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 1 max 255'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 1 max 255' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 2 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'
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 else
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 0 max 30' 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 1 max 30'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 2 max 30' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 2 max 30'
fi fi

View File

@ -1,7 +1,10 @@
[Unit] [Unit]
Description=Fan speed controller using autofan.sh Description=HP Server Fan Speed Controller
[Service] [Service]
ExecStart=/bin/bash /autofan.sh
Restart=always Restart=always
RestartSec=10s RestartSec=10s
ExecStart=/bin/bash /autofan.sh
[Install]
WantedBy=default.target

View File

@ -1,4 +1,3 @@
#!/bin/bash #!/bin/bash
# #
# crontab -l > mycron # crontab -l > mycron
@ -9,9 +8,11 @@
# rm mycron # rm mycron
# chmod +x /autofan.sh # chmod +x /autofan.sh
# #
PASSWORD="your password"
USERNAME="your username" PASSWORD="YOUR_ILO_PASSWORD"
ILOIP="your ilo ip" 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)" 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)" T2="$(sensors -Aj coretemp-isa-0001 | jq '.[][] | to_entries[] | select(.key | endswith("input")) | .value' | sort -rn | head -n1)"
@ -19,104 +20,106 @@ echo "==============="
echo "CPU 1 Temp $T1 C" echo "CPU 1 Temp $T1 C"
echo "===============" echo "==============="
if [[ $T1 > 87 ]] if [[ $T1 > 87 ]]; then
then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 4 max 80'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 4 max 80' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 5 max 80'
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 6 max 80' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 7 max 80'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 7 max 80'
elif [[ $T1 > 77 ]] elif [[ $T1 > 77 ]]; then
then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 4 max 70'
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 5 max 70' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 6 max 70'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 6 max 70' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 7 max 70'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 7 max 70'
elif [[ $T1 > 67 ]] elif [[ $T1 > 67 ]]; then
then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 4 max 39'
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 5 max 39' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 6 max 39'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 6 max 39' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 7 max 39'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 7 max 39'
elif [[ $T1 > 58 ]] elif [[ $T1 > 58 ]]; then
then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 4 max 30'
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 5 max 30' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 6 max 30'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 6 max 30' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 7 max 30'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 7 max 30'
elif [[ $T1 > 54 ]] elif [[ $T1 > 54 ]]; then
then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 4 max 28'
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 5 max 28' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 6 max 28'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 6 max 28' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 7 max 28'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 7 max 28'
elif [[ $T1 > 52 ]] elif [[ $T1 > 52 ]]; then
then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 4 max 24'
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 5 max 24' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 6 max 24'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 6 max 24' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 7 max 24'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 7 max 24'
elif [[ $T1 > 50 ]] elif [[ $T1 > 50 ]]; then
then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 4 max 22'
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 5 max 22' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 6 max 22'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 6 max 22' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 7 max 22'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 7 max 22'
else else
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 4 max 20' 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 5 max 20'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 6 max 20' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 6 max 20'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 7 max 20' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 7 max 20'
fi fi
echo "===============" echo "==============="
echo "CPU 2 Temp $T2 C" echo "CPU 2 Temp $T2 C"
echo "===============" echo "==============="
if [[ $T2 > 87 ]] if [[ $T2 > 87 ]]; then
then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 0 max 80'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 0 max 80' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 1 max 80'
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 2 max 80' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 80'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 80'
elif [[ $T2 > 77 ]] elif [[ $T2 > 77 ]]; then
then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 0 max 70'
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 1 max 70' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 2 max 70'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 2 max 70' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 70'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 70'
elif [[ $T1 > 67 ]] elif [[ $T2 > 67 ]]; then
then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 0 max 39'
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 1 max 39' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 2 max 39'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 2 max 39' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 39'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 39'
elif [[ $T2 > 58 ]] elif [[ $T2 > 58 ]]; then
then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 0 max 30'
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 1 max 30' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 2 max 30'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 2 max 30' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 30'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 30'
elif [[ $T2 > 54 ]] elif [[ $T2 > 54 ]]; then
then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 0 max 28'
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 1 max 28' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 2 max 28'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 2 max 28' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 28'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 28'
elif [[ $T2 > 52 ]] elif [[ $T2 > 52 ]]; then
then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 0 max 24'
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 1 max 24' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 2 max 24'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 2 max 24' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 24'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 24'
elif [[ $T2 > 50 ]] elif [[ $T2 > 50 ]]; then
then sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 0 max 22'
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 1 max 22' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 2 max 22'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 2 max 22' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 22'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 22'
else else
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 0 max 20' 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 1 max 20'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 2 max 20' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 2 max 20'
sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 20' sshpass -p $PASSWORD ssh $USERNAME@$ILOIP 'fan p 3 max 20'
fi fi

View File

@ -3,52 +3,64 @@
if [ $(id -u) -ne 0 ]; then if [ $(id -u) -ne 0 ]; then
echo -e "\e[31mThis must be run as root!\e[0m" echo -e "\e[31mThis must be run as root!\e[0m"
exit 126 exit 126
fi fi
echo "You are about to download and install the required items for HP ILO4 fan control." echo "You are about to download and install the required items for HP ILO4 fan control."
read -rep "Do you accept? (y/N): " ACCEPTED read -rep "Do you accept? (y/N): " ACCEPTED
if [[ ${ACCEPTED,,} =~ ^[y] ]]; then if [[ ${ACCEPTED,,} =~ ^[y] ]]; then
mkdir -p ~/autofan mkdir -p ~/autofan
cd ~/autofan cd ~/autofan
echo "Installing required packages..." echo "Installing required packages..."
apt install sshpass wget lm-sensors jq -y apt install sshpass wget lm-sensors jq -y
echo -e "\e[92mDownloading ILO_250 for ROM upgrade\e[0m" 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 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" 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 wget -q https://raw.githubusercontent.com/That-Guy-Jack/HP-ILO-Fan-Control/main/Files/autofan.service
mv autofan.service /etc/systemd/system/ mv autofan.service /etc/systemd/system/
echo -e "\e[92m autofan service created\e[0m" echo -e "\e[92m autofan service created\e[0m"
read -rep $'Which server are you running? (Enter 1-4) read -rep $'Which server are you running? (Enter 1-4)
1. DL360p G8 (No ESXi) 1. DL360p G8 (No ESXi)
2. DL380p G8 (no ESXi) 2. DL380p G8 (no ESXi)
3. DL360p G8 (ESXi-based) 3. DL360p G8 (ESXi-based)
4. DL380p G8 (ESXi-based)\n' HOSTCHOICE 4. DL380p G8 (ESXi-based)\n' HOSTCHOICE
case $HOSTCHOICE in case $HOSTCHOICE in
1) 1)
AUTOFANFILE="autofan.sh" AUTOFANFILE="autofan.sh"
HOSTTYPE="DL360p G8 (No ESXi)" HOSTTYPE="DL360p G8 (No ESXi)"
;; ;;
2) 2)
AUTOFANFILE="autofan-dl380p-g8.sh" AUTOFANFILE="autofan-dl380p-g8.sh"
HOSTTYPE="DL380p G8 (No ESXi)" HOSTTYPE="DL380p G8 (No ESXi)"
;; ;;
3) 3)
AUTOFANFILE="autofan-dl360p-g8-EXSI.sh" AUTOFANFILE="autofan-dl360p-g8-EXSI.sh"
HOSTTYPE="DL360p G8 (ESXi-based)" HOSTTYPE="DL360p G8 (ESXi-based)"
;; ;;
4) 4)
AUTOFANFILE="autofan-dl380p-g8-EXSI.sh" AUTOFANFILE="autofan-dl380p-g8-EXSI.sh"
HOSTTYPE="DL370p G8 (ESXi-based)" HOSTTYPE="DL370p G8 (ESXi-based)"
;; ;;
*) *)
echo -e "\e[31mInvalid choice. Exiting.\e[0m" echo -e "\e[31mInvalid choice. Exiting.\e[0m"
exit 1 exit 1
;; ;;
esac esac
echo "Preping autofan.sh for $HOSTTYPE" echo "Preping autofan.sh for $HOSTTYPE"
echo "Downloading latest autofan.sh" echo "Downloading latest autofan.sh"
wget -q https://raw.githubusercontent.com/That-Guy-Jack/HP-ILO-Fan-Control/main/Files/$AUTOFANFILE -O 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 Username: ' ILOUSERNAME
read -rep 'Enter iLO Password: ' ILOPASSWORD read -rep 'Enter iLO Password: ' ILOPASSWORD
read -rep 'Enter iLO IP/hostname: ' ILOHOST 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[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" echo -e "\e[1\https://github.com/That-Guy-Jack/HP-ILO-Fan-Control\e[0m"
else else
echo -e "\e[31m:( exiting\e[0m" echo -e "\e[31m:( exiting\e[0m"
exit 0 exit 0
fi fi