Files
openclaw-backups/scripts/weekly-cleanup.sh

42 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
# Weekly Cleanup Script
# Archives old logs, checks disk space, cleans up old sessions
echo "🧹 Weekly Cleanup Started"
echo "========================"
# 1. Check disk space
echo ""
echo "📊 Disk Usage:"
df -h / | tail -1
# 2. Count session files
echo ""
echo "📁 Sessions: $(find /home/openclaw/.openclaw/workspace/sessions -name "*.jsonl" 2>/dev/null | wc -l) session files"
# 3. Count logs
echo ""
echo "📝 Logs: $(find /home/openclaw/.openclaw/logs -name "*.log" 2>/dev/null | wc -l) log files"
# 4. Archive old memory files (older than 30 days)
echo ""
echo "🗂️ Archiving old memory files..."
find /home/openclaw/.openclaw/workspace/memory -name "*.md" -mtime +30 -exec gzip {} \; 2>/dev/null
ARCHIVED=$(find /home/openclaw/.openclaw/workspace/memory -name "*.gz" 2>/dev/null | wc -l)
echo " Archived: $ARCHIVED files"
# 5. Clean old session transcripts (older than 14 days)
echo ""
echo "🗑️ Cleaning old sessions (14+ days)..."
find /home/openclaw/.openclaw/workspace/sessions -name "*.jsonl" -mtime +14 -delete 2>/dev/null
# 6. Check backup status
echo ""
echo "💾 Last Backup:"
ls -lh /home/openclaw/.openclaw/workspace/archive/backup 2>/dev/null | tail -1 || echo " No local backup found"
# Summary
echo ""
echo "✅ Cleanup Complete!"
echo "Date: $(date)"