# vim: ft=sh function nginx () { nc -zw2 127.0.0.1 80 || echo "injoignable sur port 80 local" nc -zw2 paris12.pcf.fr 80 || echo "injoignable sur port 80 distant" nc -zw2 paris12.pcf.fr 443 || echo "injoignable sur port 443 distant" } function core_temp () { local min=60 local level=("warning" "severe" "danger!") local step=$(( $(</sys/class/thermal/thermal_zone0/temp) - (min * 1000) )) if test $step -gt 1; then # if test $step -gt 5000; then # en été il fait plus chaud, c'est normal que ça monte à 60° régulièrement step=$((step / 10000)) test $step -le 2 || step=2 echo "${level[step]}: température > $((min + step * 10))°" fi } function core_alim () { eval $(/opt/vc/bin/vcgencmd measure_volts core) volt_fmt=${volt/\.} volt_fmt=${volt_fmt/V} test $volt_fmt -lt 12000 -o $volt_fmt -gt 15000 && echo "$volt" } function undervoltage () { test $(grep -c "hwmon hwmon1" /var/log/syslog) -gt 0 && echo "Undervoltage detected!" } function clean_swap () { _turn 2 || return echo 1 > /proc/sys/vm/drop_caches if LANG=C free -m | awk ' /^Swap:/ { used = $3 } END { bash_exit_code = !(used > 31) exit bash_exit_code } '; then systemctl stop dphys-swapfile \ && systemctl stop zram \ && systemctl start zram \ && systemctl start dphys-swapfile \ || echo 'erreur' fi } function mem_pressure () { local meminfo=($(</proc/meminfo)) local level=(danger severe warning) local margin=30000 for ((i=0; i<${#meminfo[@]}; i+=3)); do test ${meminfo[i]} == 'MemAvailable:' && break done meminfo[i+2]=$(( ( ${meminfo[i+1]} - $margin ) / 100000 )) test ${meminfo[i+2]} -ge ${#range[@]} || echo "${level[${meminfo[i+2]}]}: available ${meminfo[i+1]}kB" } function printer () { _turn 24 || return local min=20 local level=(extreme danger warning info) local printer=192.168.1.54 local prtMarkerSuppliesMaxCapacity=1.3.6.1.2.1.43.11.1.1.8.1 local prtMarkerSuppliesLevel=1.3.6.1.2.1.43.11.1.1.9.1 local left=$(snmpget -v 1 -c public $printer ${prtMarkerSuppliesLevel}.4) local full=$(snmpget -v 1 -c public $printer ${prtMarkerSuppliesMaxCapacity}.4) if test ${full#*:} -ne 0; then local step=$(((${left#*:}*100/${full#*:})/5)) if test $step -le ${#level[@]}; then echo "${level[$step]} toner black" fi fi }