SCHEDULE. games.monsterrobot.depot-archive installed on ultra, daily 05:30 — after meshgod at 05:00, matching the existing games.monsterrobot.* launchd convention, plist kept in the repo beside the script. plutil-linted and bootstrapped; launchctl reports it registered. PRUNE. John wants old GLBs off the live VPS while keeping everything backed up. Age alone cannot decide that: two shipping games resolve depot assets BY FILENAME at runtime, so a three-year-old mesh some game still names is load-bearing, not stale, and deleting it is a 404 in a released build. So prune.py deletes only when all three hold — older than --days, named in NO consumer's source (scanning js/html/json/ts across thriftgod, procity and 90sDJsim, including the JSON manifests that also carry depot refs), and an identical-SIZE copy confirmed in the Drive archive. Size mismatch counts as unbacked; it never deletes on a maybe. Dry-run by default, and apply re-verifies every rule rather than trusting the earlier plan. Thumbnails and meta.json are left alone so the depot keeps listing pruned entries, as the MeshGod archive does. Measured today it deletes NOTHING, correctly: of 774 assets, 35 are game-referenced and 724 are newer than a 180-day cutoff — every asset in the depot is under 30 days old. Reported as-is rather than loosening the cutoff to manufacture a result. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
14 lines
871 B
Plaintext
14 lines
871 B
Plaintext
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
<plist version="1.0"><dict>
|
|
<key>Label</key><string>games.monsterrobot.depot-archive</string>
|
|
<key>ProgramArguments</key>
|
|
<array><string>/bin/sh</string><string>/Users/johnking/depot-backups/archive.sh</string></array>
|
|
<key>EnvironmentVariables</key>
|
|
<dict><key>PATH</key><string>/opt/homebrew/bin:/usr/bin:/bin:/usr/sbin:/sbin</string></dict>
|
|
<key>StartCalendarInterval</key><dict><key>Hour</key><integer>5</integer><key>Minute</key><integer>30</integer></dict>
|
|
<key>StandardOutPath</key><string>/Users/johnking/depot-backups/launchd.log</string>
|
|
<key>StandardErrorPath</key><string>/Users/johnking/depot-backups/launchd.log</string>
|
|
<key>WorkingDirectory</key><string>/Users/johnking</string>
|
|
</dict></plist>
|