# Pavon Archive Cleanup Guide

**Server:** 172.16.1.33 (Pavon Unraid)
**Script Location:** `/root/pavon_cleanup.sh`
**Expected Recovery:** 25.2TB
**Date Created:** April 12, 2026

---

## Overview

This script safely deletes camera footage older than 3 years (before April 2023) from Pavon's archive server.

**What will be deleted:**
- Dec 2022: 2.1TB (14,776 files)
- Jan 2023: 7.0TB (62,048 files)
- Feb 2023: 8.9TB (46,014 files)
- Mar 2023: 7.2TB (61,282 files)
- **Total: 25.2TB (184,120 files)**

**What will be kept:**
- May 2023 - Oct 2023: 35.1TB
- All data within 3-year retention policy

---

## Usage

### Step 1: Dry-Run (Preview Only - RECOMMENDED FIRST)

```bash
# SSH to Pavon server
ssh root@172.16.1.33

# Run preview (no files deleted)
/root/pavon_cleanup.sh
```

**What it does:**
- Shows exactly what will be deleted
- Calculates space recovery
- Lists sample files from each period
- **NO FILES ARE DELETED**

### Step 2: Review the Preview

Check the output carefully:
- Verify date ranges are correct (Dec 2022 - Mar 2023)
- Confirm file counts match audit (184,120 files)
- Review sample file paths

### Step 3: Execute Actual Deletion

**Option A: Interactive execution**
```bash
# Edit script to disable dry-run
nano /root/pavon_cleanup.sh
# Change: DRY_RUN=1 to DRY_RUN=0
# Save and exit (Ctrl+X, Y, Enter)

# Run deletion
/root/pavon_cleanup.sh
```

**Option B: One-time execution (no script edit)**
```bash
# Run with dry-run disabled
DRY_RUN=0 /root/pavon_cleanup.sh
```

**Confirmation Required:**
- Script will ask you to type `DELETE` to confirm
- This prevents accidental execution
- **Files are permanently deleted** (no recycle bin on Linux)

---

## Phased Deletion (Alternative Approach)

If you want to delete one month at a time:

### Delete Dec 2022 Only (2.1TB)
```bash
# Edit script and change PERIODS array to:
PERIODS=(
    "202212:Dec 2022"
)
```

### Delete Jan 2023 Only (7.0TB)
```bash
PERIODS=(
    "202301:Jan 2023"
)
```

### Delete Feb 2023 Only (8.9TB)
```bash
PERIODS=(
    "202302:Feb 2023"
)
```

### Delete Mar 2023 Only (7.2TB)
```bash
PERIODS=(
    "202303:Mar 2023"
)
```

---

## Monitoring Progress

The script provides:
- **Real-time output**: Shows each file being deleted
- **Progress indicators**: Updates every 1000 files
- **Detailed logging**: All actions logged to `/root/cleanup_logs/`

**To monitor:**
```bash
# Watch log file in real-time (in another SSH session)
tail -f /root/cleanup_logs/cleanup_*.log

# Check current disk usage
df -h /mnt/user

# Count remaining files
find /mnt/user/Storage/cam* -name "Event2022*.avi" | wc -l
```

---

## Expected Timeline

**Deletion speed:** ~500-1000 files/minute (depends on disk I/O)

| Period | Files | Est. Time |
|--------|-------|-----------|
| Dec 2022 | 14,776 | 15-30 min |
| Jan 2023 | 62,048 | 1-2 hours |
| Feb 2023 | 46,014 | 45-90 min |
| Mar 2023 | 61,282 | 1-2 hours |
| **Total** | **184,120** | **3-5 hours** |

---

## Safety Features

1. **Dry-run default:** Script runs in preview mode unless explicitly changed
2. **Confirmation required:** Must type `DELETE` to proceed
3. **Detailed logging:** All actions logged to `/root/cleanup_logs/`
4. **Pattern-based deletion:** Only deletes files matching `Event2022*.avi` and `Event2023[01-03]*.avi`
5. **No recursive wildcards:** Won't accidentally delete wrong directories

---

## Verification After Deletion

```bash
# Check new disk usage
df -h /mnt/user

# Verify old files are gone
find /mnt/user/Storage/cam* -name "Event2022*.avi" | wc -l  # Should be 0
find /mnt/user/Storage/cam* -name "Event202301*.avi" | wc -l  # Should be 0
find /mnt/user/Storage/cam* -name "Event202302*.avi" | wc -l  # Should be 0
find /mnt/user/Storage/cam* -name "Event202303*.avi" | wc -l  # Should be 0

# Verify remaining files intact
find /mnt/user/Storage/cam* -name "Event202305*.avi" | wc -l  # Should have files
find /mnt/user/Storage/cam* -name "Event202306*.avi" | wc -l  # Should have files

# Check logs
ls -lh /root/cleanup_logs/
```

---

## Rollback Plan

**Important:** Once deleted, files cannot be recovered unless you have backups.

**Before deletion:**
- If unsure, create backup: `rsync -av /mnt/user/Storage /mnt/user/Backups/pavon_archive_backup/`
- Takes ~6-8 hours to backup 60TB, requires 60TB free space

**No backups exist on Jupiter for this data** (confirmed during audit).

---

## Post-Cleanup Actions

After successful deletion:

1. **Verify space recovery:**
   ```bash
   df -h /mnt/user
   # Should show ~84TB free (was 59TB)
   ```

2. **Set up automated retention (optional):**
   - Create monthly cron job
   - Auto-delete data >3 years old
   - Email notifications

3. **Document in credentials.md:**
   - Update Pavon server notes
   - Record cleanup date
   - Note new available capacity

---

## Troubleshooting

### Script hangs or runs slowly
- Normal for large deletions (184K files)
- Check progress: `tail -f /root/cleanup_logs/cleanup_*.log`
- Monitor disk I/O: `iotop` (if installed)

### "Permission denied" errors
- Run as root: `sudo /root/pavon_cleanup.sh`
- Check file ownership: `ls -l /mnt/user/Storage/cam*/`

### Want to cancel during execution
- Press `Ctrl+C` to stop
- Files deleted so far are gone
- Remaining files are safe
- Can resume by running script again (only deletes what remains)

### Disk space not showing as free
- Unraid may need array refresh
- Wait 5-10 minutes for system to update
- Run: `du -sh /mnt/user/Storage` to verify actual usage

---

## Support

**Script location on local machine:**
`/Users/azcomputerguru/ClaudeTools/temp/pavon_cleanup.sh`

**Logs location:**
`/root/cleanup_logs/` on Pavon server

**Contact:** Check session logs for questions

---

**Created:** April 12, 2026
**Audit performed:** April 12, 2026
**Last updated:** April 12, 2026
