X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=system-status;h=e137d06f3b4b15c44b884e6dc04e8eb17d0a3759;hb=410b30bc4194a6c84db5d73b15a7e211ce47bc9c;hp=b8e854dbff25b158575aaa99eaadbb21eb734690;hpb=12e7a0f3de4f4f1b1f8e56e7cbe2e972027e0a42;p=distro-setup diff --git a/system-status b/system-status index b8e854d..e137d06 100755 --- a/system-status +++ b/system-status @@ -2,7 +2,8 @@ # Copyright (C) 2019 Ian Kelling # SPDX-License-Identifier: AGPL-3.0-or-later -# usage: runs 4 times every 15 seconds unless any args are passed, then just runs once +# usage: runs 4 times every 15 seconds unless any args are passed, or we +# are on battery power, then just runs once. if [ -z "$BASH_VERSION" ]; then echo "error: shell is not bash" >&2; exit 1; fi @@ -15,7 +16,7 @@ shopt -s dotglob lo() { /usr/local/bin/log-once "$@"; } write-status() { - chars=() + chars=("${first_chars[@]}") glob=(/nocow/btrfs-stale/*) if [[ -e ${glob[0]} ]]; then @@ -35,11 +36,12 @@ write-status() { chars+=("MAILPING!") fi - qlen=$(/usr/sbin/exim -bpc) + qlen=$(/usr/sbin/exiqgrep -o 60 -c -b | awk '{print $1}') if ((qlen)); then chars+=("q $qlen") fi + cd /b/ds if ! make -q ~/.local/distro-begin || [[ $(<~/.local/distro-begin) != 0 ]]; then chars+=("DISTRO-BEGIN!") fi @@ -50,7 +52,6 @@ write-status() { f=~/.local/conflink if [[ -e $f ]]; then - cd /b/ds now=$(date +%s) fsec=$(stat -c%Y $f) fmin=$(( (fsec - now ) / 60 + 1 )) @@ -81,7 +82,7 @@ write-status() { spamcount=0 fi if (( spamcount <= 4 )); then - if grep -q 'spam acl condition' /var/log/exim4/paniclog; then + if grep -q 'spam acl condition' /var/log/exim4/paniclog &>/dev/null; then printf . >>$loglog fi /a/bin/distro-setup/epanic-clean @@ -96,6 +97,7 @@ write-status() { source /a/bin/bash_unpublished/source-state if [[ $MAIL_HOST == "$HOSTNAME" ]]; then + bbkmsg= if [[ $(systemctl is-active btrbk.timer) != active ]]; then chars+=("BTRBK.TIMER!") bbkmsg="btrbk.timer not enabled" @@ -134,11 +136,23 @@ write-status() { fi } +# use this if we want to do something just once per minute +first_chars=() + +power=true +if [[ -e /sys/class/power_supply/AC/online && $(