skills/clawdbot/skills/media-backup

media-backup

SKILL.md

Media Backup

Simple backup of Clawdbot inbound media to a local folder. No APIs, no OAuth - just file copy.

Works with any cloud sync service since it's just copying to a local folder.

Setup

Set your destination folder:

export MEDIA_BACKUP_DEST="$HOME/Dropbox/Clawdbot/media"
# or
export MEDIA_BACKUP_DEST="$HOME/Library/Mobile Documents/com~apple~CloudDocs/Clawdbot/media"  # iCloud
# or  
export MEDIA_BACKUP_DEST="$HOME/Google Drive/Clawdbot/media"

Or add to clawdbot config:

{
  "skills": {
    "entries": {
      "media-backup": {
        "env": {
          "MEDIA_BACKUP_DEST": "/path/to/your/folder"
        }
      }
    }
  }
}

Usage

# Run backup
uv run skills/media-backup/scripts/backup.py

# Dry run (preview only)
uv run skills/media-backup/scripts/backup.py --dry-run

# Custom source/destination
uv run skills/media-backup/scripts/backup.py --source ~/.clawdbot/media/inbound --dest ~/Backups/media

# Check status
uv run skills/media-backup/scripts/backup.py status

How It Works

  1. Scans ~/.clawdbot/media/inbound/ for media files
  2. Organizes by date: YYYY-MM-DD/filename.jpg
  3. Tracks archived files by content hash (no duplicates)
  4. Your cloud service syncs the folder automatically

Cron Setup

Run hourly backup:

0 * * * * cd ~/clawd && uv run skills/media-backup/scripts/backup.py >> /tmp/media-backup.log 2>&1

Or via Clawdbot cron job with task:

Run media backup: uv run skills/media-backup/scripts/backup.py
If files archived, reply: 📸 Archived [N] media files
If none, reply: HEARTBEAT_OK

Supported Formats

jpg, jpeg, png, gif, webp, heic, mp4, mov, m4v, webm

Weekly Installs
4
Repository
clawdbot/skills
Installed on
opencode3
windsurf2
clawdbot2
trae2
codex2
claude-code2