bunch of new stuff, a few fixes
[distro-setup] / fsfsys-recent
diff --git a/fsfsys-recent b/fsfsys-recent
new file mode 100755 (executable)
index 0000000..c1b15c9
--- /dev/null
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+if [[ -e /tmp/fsfsys-recent ]]; then
+  tmp=$(mktemp)
+  touch --date="1 minutes ago" "$tmp"
+  cooldown=false
+  if [[ /tmp/fsfsys-recent -nt "$tmp" ]]; then
+    cooldown=true
+  fi
+  rm -f "$tmp"
+  if $cooldown; then
+    echo "error: wait 1 minute between requests"
+    exit 0
+  fi
+
+  tmp2=$(mktemp)
+  touch --date="5 minute ago" "$tmp2"
+  cache=false
+  if [[ /tmp/fsfsys-recent -nt "$tmp2" ]]; then
+    cache=true
+  fi
+  rm -f "$tmp2"
+  if $cache; then
+    cat /tmp/fsfsys-recent
+    exit 0
+  fi
+fi
+
+d='/var/lib/znc/moddata/log/iank/libera/#fsfsys'
+date0=$(date +%Y-%m-%d)
+date1=$(date +%Y-%m-%d -d yesterday)
+f0="$d/$date0.log"
+f1="$d/$date1.log"
+url=$( { sed "s/^/$date1 /" $f1; sed "s/^/$date0 /" $f0; } | /a/opt/fpaste/fpaste -x 60 |& grep -i '^http' | sed -r 's,/view/,/view/raw/,' )
+notice='This url is not public and this message does not not imply permission to share it publicly. It expires in 60 minutes. Related: the "Public logging" section at https://libera.chat/policies/.'
+printf "%s %s\n" "$url" "$notice" | tee /tmp/fsfsys-recent