X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=system-status;h=b31032ca1b8347a693767494c43f34eff197bbe2;hb=76e48ba447b07a216b6dc8786617bb0d6544858d;hp=fdf4758b5028a9f33ff03b91dfc0e9dedb22c77c;hpb=b1f87cc8bd1764dac5ba39cf75e513cfc5493ca7;p=distro-setup diff --git a/system-status b/system-status index fdf4758..b31032c 100755 --- a/system-status +++ b/system-status @@ -127,48 +127,43 @@ write-status() { ## check if last snapshot was recent old_snap_limit=$(( 3 * 60 * 60 )) - for vol in a o q; do - case $vol in - o) btrbk_root=/mnt/o/btrbk ;; - *) btrbk_root=/mnt/root/btrbk ;; - esac - # this section generally copied from btrbk scripts, but - # this part modified to speed things up by about half a second. - # I'm not sure if its quite as reliable, but it looks pretty safe. - # Profiled it using time and also adding to the top of the file: - # set -x - # PS4='+ $(date "+%2N") ' - # allow failure in case there are no snapshots yet. - # shellcheck disable=SC2012 - shopt -s nullglob - files=($btrbk_root/$vol.20*) - shopt -u nullglob - if (( ! ${#files[@]} )); then - continue - fi - snaps=($(ls -1avdr "${files[@]}" 2>/dev/null |head -n1 || : )) - now=$EPOCHSECONDS - maxtime=0 - for s in ${snaps[@]}; do - file=${s##*/} - t=$(date -d $(sed -r 's/(.{4})(..)(.{5})(..)(.*)/\1-\2-\3:\4:\5/' <<<${file#$vol.}) +%s) - if (( t > maxtime )); then - maxtime=$t - fi - done - snapshotmsg= - last_snap_age=$(( now - maxtime )) - last_snap_hours=$(( last_snap_age / 60 / 60 )) - if (( last_snap_age > old_snap_limit )); then - chars+=(OLD-SNAP-${last_snap_hours}h) - snapshotmsg="/$vol snapshot older than 4 hours" - if [[ $MAIL_HOST == "$HOSTNAME" ]]; then - p "$snapshotmsg" | lo -1 old-snapshot - fi - # not bothering to get info on all volumes if we find an old one. - break + vol=o + btrbk_root=/mnt/o/btrbk + # this section generally copied from btrbk scripts, but + # this part modified to speed things up by about half a second. + # I'm not sure if its quite as reliable, but it looks pretty safe. + # Profiled it using time and also adding to the top of the file: + # set -x + # PS4='+ $(date "+%2N") ' + # allow failure in case there are no snapshots yet. + # shellcheck disable=SC2012 + shopt -s nullglob + files=($btrbk_root/$vol.20*) + shopt -u nullglob + if (( ! ${#files[@]} )); then + continue + fi + snaps=($(ls -1avdr "${files[@]}" 2>/dev/null |head -n1 || : )) + now=$EPOCHSECONDS + maxtime=0 + for s in ${snaps[@]}; do + file=${s##*/} + t=$(date -d $(sed -r 's/(.{4})(..)(.{5})(..)(.*)/\1-\2-\3:\4:\5/' <<<${file#$vol.}) +%s) + if (( t > maxtime )); then + maxtime=$t fi done + snapshotmsg= + last_snap_age=$(( now - maxtime )) + last_snap_hours=$(( last_snap_age / 60 / 60 )) + if (( last_snap_age > old_snap_limit )); then + chars+=(OLD-SNAP-${last_snap_hours}h) + snapshotmsg="/$vol snapshot older than 4 hours" + if [[ $MAIL_HOST == "$HOSTNAME" ]]; then + p "$snapshotmsg" | lo -1 old-snapshot + fi + # not bothering to get info on all volumes if we find an old one. + fi if [[ $MAIL_HOST == "$HOSTNAME" ]]; then