75 lines
2.1 KiB
Bash
Executable File
75 lines
2.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
|
|
|
LOG_DIR="/opt/minerops/logs"
|
|
mkdir -p "$LOG_DIR"
|
|
|
|
echo "============================================================"
|
|
echo "MinerOps status retention dry-run"
|
|
echo "Started: $(date -Is)"
|
|
echo
|
|
|
|
echo "Building hourly rollups..."
|
|
docker exec -i minerops-postgres psql -U minerops -d minerops < /opt/minerops/sql/minerops-retention-hourly.sql
|
|
|
|
echo
|
|
echo "Building daily rollups..."
|
|
docker exec -i minerops-postgres psql -U minerops -d minerops < /opt/minerops/sql/minerops-retention-daily.sql
|
|
|
|
cat > /tmp/minerops-retention-log-dryrun.sql <<'SQL'
|
|
INSERT INTO minerops_retention_runs (
|
|
mode,
|
|
raw_status_retention_days,
|
|
hourly_rollup_rows_before,
|
|
hourly_rollup_rows_after,
|
|
daily_rollup_rows_before,
|
|
daily_rollup_rows_after,
|
|
raw_status_rows_before,
|
|
raw_status_rows_after,
|
|
raw_status_rows_eligible_delete,
|
|
raw_status_rows_deleted,
|
|
started_at,
|
|
finished_at,
|
|
notes
|
|
)
|
|
SELECT
|
|
'dry-run',
|
|
30,
|
|
(SELECT COUNT(*) FROM miner_status_hourly_rollups),
|
|
(SELECT COUNT(*) FROM miner_status_hourly_rollups),
|
|
(SELECT COUNT(*) FROM miner_status_daily_rollups),
|
|
(SELECT COUNT(*) FROM miner_status_daily_rollups),
|
|
(SELECT COUNT(*) FROM miner_status_snapshots),
|
|
(SELECT COUNT(*) FROM miner_status_snapshots),
|
|
(SELECT COUNT(*) FROM miner_status_snapshots WHERE observed_at < now() - interval '30 days'),
|
|
0,
|
|
now(),
|
|
now(),
|
|
'Scheduled dry run: built or updated hourly and daily status rollups. No raw snapshots deleted.';
|
|
|
|
SELECT
|
|
mode,
|
|
raw_status_retention_days,
|
|
raw_status_rows_before,
|
|
raw_status_rows_eligible_delete,
|
|
raw_status_rows_deleted,
|
|
raw_status_rows_after,
|
|
hourly_rollup_rows_after,
|
|
daily_rollup_rows_after,
|
|
started_at,
|
|
finished_at,
|
|
notes
|
|
FROM minerops_retention_runs
|
|
ORDER BY started_at DESC
|
|
LIMIT 1;
|
|
SQL
|
|
|
|
echo
|
|
echo "Logging dry-run retention pass..."
|
|
docker exec -i minerops-postgres psql -U minerops -d minerops < /tmp/minerops-retention-log-dryrun.sql
|
|
|
|
echo
|
|
echo "Finished: $(date -Is)"
|