84 lines
2.4 KiB
Bash
84 lines
2.4 KiB
Bash
#!/bin/bash
|
|
# Clean agent/ops clutter under /root on koopa (host).
|
|
# Preferred scratch is LOCAL: koopa-admin-log/.tmp/ (see ops/ROOT_HYGIENE.md).
|
|
# This script only removes leftover one-offs that landed in /root by mistake.
|
|
#
|
|
# Usage (as root on koopa):
|
|
# cleanup-root-scratch.sh
|
|
# cleanup-root-scratch.sh --dry-run
|
|
set -euo pipefail
|
|
[ "$(id -u)" -eq 0 ] || { echo "root only"; exit 1; }
|
|
|
|
DRY=0
|
|
[ "${1:-}" = "--dry-run" ] && DRY=1
|
|
|
|
# Staging on host only to delete (not the canonical scratch location)
|
|
TMP_BASE=/root/.tmp-cleanup
|
|
SESSION_DIR="$TMP_BASE/session-$(date -u +%Y%m%d-%H%M)-cleanup"
|
|
mkdir -p "$SESSION_DIR"
|
|
|
|
# One-off probe filenames created during taler settle/withdraw debugging (not durable).
|
|
JUNK_GLOBS=(
|
|
c1.sh chk-order.sh mk-order.sh mk-secret.py
|
|
d3.sh d4.sh d5.sh d6.sh d7.sh d8.sh dd.sh dd2.sh
|
|
f1.sh fdo.sh fsn.sh fix-perm2.sh fix-ww.sh
|
|
ps.sh rl.sh sc.sh ss.sh ww4.sh
|
|
exchange-overrides.conf
|
|
)
|
|
|
|
run() {
|
|
if [ "$DRY" -eq 1 ]; then
|
|
echo "DRY: $*"
|
|
else
|
|
eval "$@"
|
|
fi
|
|
}
|
|
|
|
echo "=== move junk scripts to $SESSION_DIR ==="
|
|
mkdir -p "$SESSION_DIR"
|
|
moved=0
|
|
for name in "${JUNK_GLOBS[@]}"; do
|
|
f="/root/$name"
|
|
if [ -e "$f" ]; then
|
|
run "mv -f $(printf %q "$f") $(printf %q "$SESSION_DIR/")"
|
|
echo " moved $name"
|
|
moved=$((moved + 1))
|
|
fi
|
|
done
|
|
echo "moved=$moved"
|
|
|
|
# Durable scripts that belong in admin-log — re-install from tree if present, remove loose copies
|
|
ADMIN="${KOOPA_ADMIN_LOG:-/root/koopa-admin-log}"
|
|
if [ ! -d "$ADMIN/scripts" ]; then
|
|
ADMIN=/home/hernani/koopa-admin-log
|
|
fi
|
|
for pair in \
|
|
"auto-confirm-withdrawals.sh:taler-bank/auto-confirm-withdrawals.sh" \
|
|
"make-demo-withdraw-qr.sh:taler-bank/make-demo-withdraw-qr.sh"
|
|
do
|
|
base="${pair%%:*}"
|
|
rel="${pair#*:}"
|
|
src="$ADMIN/scripts/$rel"
|
|
if [ -f "/root/$base" ]; then
|
|
if [ -f "$src" ]; then
|
|
echo " /root/$base is durable → install to /usr/local/bin, remove from /root"
|
|
run "install -m 755 $(printf %q "$src") /usr/local/bin/$base"
|
|
run "rm -f /root/$base"
|
|
else
|
|
echo " keep /root/$base (no admin-log copy at $src); move to $ADMIN/scripts if you can"
|
|
fi
|
|
fi
|
|
done
|
|
|
|
echo "=== delete staged junk (canonical scratch is local koopa-admin-log/.tmp/) ==="
|
|
if [ "$DRY" -eq 1 ]; then
|
|
ls -la "$SESSION_DIR" 2>/dev/null || true
|
|
else
|
|
rm -rf "$TMP_BASE"
|
|
# remove mistaken host scratch if present
|
|
rm -rf /root/.tmp
|
|
fi
|
|
|
|
echo "=== remaining non-dot files in /root ==="
|
|
ls -la /root | grep -v '^\.' | head -60
|
|
echo "DONE"
|