Skip to content

Instantly share code, notes, and snippets.

@Demontager
Created April 30, 2014 17:27
Show Gist options
  • Save Demontager/03f0c14525372aa6cae7 to your computer and use it in GitHub Desktop.
Save Demontager/03f0c14525372aa6cae7 to your computer and use it in GitHub Desktop.
if_temp_mail() {
for server in "${miners[@]}"; do
cat <<'EOF' | ssh root@$server 'cat - > /tmp/cardcheck.sh && chmod +x /tmp/cardcheck.sh && /tmp/cardcheck.sh'
targetMinTemp=57
sickres="/tmp/if_sick.txt"
i=0
(/opt/bamt/viewgpu | awk '{ print $2; }' | cut -c -2 > /tmp/viewgpu)
sleep 3
array=(`cat /tmp/viewgpu`)
if [ ${#array[@]} -eq 0 ]; then
echo "`date +%m-%d-%Y` `uptime | awk -F, '{sub(".*ge ",x,$1);print $1}'` viewgpu command failed to run, rebooting" >> /etc/bamt/autoRebooter.log
/tmp/mail.sh
sync && /sbin/coldreboot &
sleep 30
echo s > /proc/sysrq-trigger
sleep 10
echo b > /proc/sysrq-trigger
elif [ ${#array[@]} -ne 0 ]; then
INTERFACE=`cat /proc/net/arp | grep -m 1 -v Device | awk '{print $6}'`
echo "----------------MINER IP:`/sbin/ifconfig $INTERFACE | grep 'inet addr:' | cut -d: -f2 | cut -d' ' -f1 | tr -d '[:blank:]'`"
echo "`/opt/bamt/viewgpu`"
echo ""
fi
for temp in ${array[@]}; do
if [ $temp -lt $targetMinTemp ]; then
echo "`date +%m-%d-%Y` `uptime | awk -F, '{sub(".*ge ",x,$1);print $1}'` card number $i has stopped, its current temp is $temp, coldrebooting" >> /etc/bamt/autoRebooter.log
/tmp/mail.sh
sync && /sbin/coldreboot &
sleep 30
echo s > /proc/sysrq-trigger
sleep 10
echo b > /proc/sysrq-trigger
fi
i=$(($i+1))
done
cards=(`cat $sickres|awk '{print $2}'`)
egrep -w 'Sick|Dead|NoStart' $sickres
status=`echo $?`
if [ "$status" = 0 ]; then
for card in ${cards[@]}; do
echo "`date +%m-%d-%Y` `uptime | awk -F, '{sub(".*ge ",x,$1);print $1}'` card number $i is ${cards[$card]} , coldrebooting" >> /etc/bamt/autoRebooter.log
/tmp/mail.sh
sync && /sbin/coldreboot &
sleep 30
echo s > /proc/sysrq-trigger
sleep 10
echo b > /proc/sysrq-trigger
i=$(($i+1))
done
fi
EOF
done
}
@koalaman
Copy link

if_temp_mail() {
for server in "${miners[@]}"; do
{
echo "targetMinTemp=$something"
cat <<'EOF'
sickres="/tmp/if_sick.txt"
i=0
(/opt/bamt/viewgpu | awk '{ print $2; }' | cut -c -2 > /tmp/viewgpu)
sleep 3
array=(cat /tmp/viewgpu)
if [ ${#array[@]} -eq 0 ]; then
echo "date +%m-%d-%Y uptime | awk -F, '{sub(".*ge ",x,$1);print $1}' viewgpu command failed to run, rebooting" >> /etc/bamt/autoRebooter.log
/tmp/mail.sh
sync && /sbin/coldreboot &
sleep 30
echo s > /proc/sysrq-trigger
sleep 10
echo b > /proc/sysrq-trigger
elif [ ${#array[@]} -ne 0 ]; then
INTERFACE=cat /proc/net/arp | grep -m 1 -v Device | awk '{print $6}'
echo "----------------MINER IP:/sbin/ifconfig $INTERFACE | grep 'inet addr:' | cut -d: -f2 | cut -d' ' -f1 | tr -d '[:blank:]'"
echo "/opt/bamt/viewgpu"
echo ""
fi
for temp in ${array[@]}; do
if [ $temp -lt $targetMinTemp ]; then
echo "date +%m-%d-%Y uptime | awk -F, '{sub(".*ge ",x,$1);print $1}' card number $i has stopped, its current temp is $temp, coldrebooting" >> /etc/bamt/autoRebooter.log
/tmp/mail.sh
sync && /sbin/coldreboot &
sleep 30
echo s > /proc/sysrq-trigger
sleep 10
echo b > /proc/sysrq-trigger
fi
i=$(($i+1))
done
cards=(cat $sickres|awk '{print $2}')
egrep -w 'Sick|Dead|NoStart' $sickres
status=echo $?
if [ "$status" = 0 ]; then
for card in ${cards[@]}; do
echo "date +%m-%d-%Y uptime | awk -F, '{sub(".*ge ",x,$1);print $1}' card number $i is ${cards[$card]} , coldrebooting" >> /etc/bamt/autoRebooter.log
/tmp/mail.sh
sync && /sbin/coldreboot &
sleep 30
echo s > /proc/sysrq-trigger
sleep 10
echo b > /proc/sysrq-trigger
i=$(($i+1))
done
fi
EOF
} | ssh root@$server 'cat - > /tmp/cardcheck.sh && chmod +x /tmp/cardcheck.sh && /tmp/cardcheck.sh'
done
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment