Skip to content

Scheduled jobs (generated 2026-11-11T22:00:03-05:00)

145 jobs: user crontab, /etc/cron.d, user timers, system timers. Root's crontab is not readable here. Hand-written context: schedules.

sell (15)

Job Kind Schedule Last Status Next What
bom-check cron */30 7-19 * * 1-5 11-11 19:30 ok 11-12 07:00 Free BOM risk check (embeddedera.com/bom-check): R2 requests -> verdict report -> Gmail DRAFT for owner review. Never sends.
content-buffer-fill cron 7 * * * * 11-11 21:07 ok 11-11 22:07 Daily research -> engineering note -> dev preview (approved from home.embeddedera.com; SOP-018 Content Publishing). Skips itself if three drafts are already wai
content-daily-prepare cron 37 * * * * 11-11 21:37 ok 11-11 22:37 Keep 7 days of reviewed, approved content packages filled. Never publishes; approved notes stay queued behind note_queue CONTENT_DAILY_RELEASE_ENABLED.
content-daily-release cron */5 7-19 * * * 11-11 19:55 ok 11-12 07:00 Hand the day's approved package to the Story publisher: writes the proposals the native driver loads and enqueues the reviewed jobs. Publishes nothing. PAUSED-S
content-reconcile cron 52 * * * * 11-11 21:52 ok 11-11 22:52 content-reconcile: website content OUTCOME check (>=4 consecutive queued days else page; no new queued note in 26 h while reserve <7 = stall; today's note liv
content-sync cron 40 2 * * * 11-11 02:40 ok 11-12 02:40 content-sync
ee-store-cloudflare-purge user-timer OnBootUSec=2min 11-11 21:59 ok 11-11 22:00 Purge exact changed development-store URLs from Cloudflare edge cache
ee-store-prod-health user-timer *-*-* *:00/5:00 11-11 22:00 ok - Production store (dark) health: 127.0.0.1:8510 200, scheduler healthy, no failed scheduled actions, newest store dump < 26 h
list-sync cron */15 * * * * 11-11 21:45 ok 11-11 22:15 list-sync: R2 newsletter capture → Listmonk; bounded read retries, verified cleanup, exceptions retained (SOP-033)
opportunity-radar-digest cron 40 6 * * 1 11-09 06:40 ok 11-16 06:40 opportunity-radar-digest
opportunity-radar-scan cron 25 6,18 * * * 11-11 18:34 ok 11-12 06:25 Opportunity radar: scan public feeds twice a day (free models), digest Monday morning. assistant PR #6
quote-drafts cron */30 7-19 * * 1-5 11-11 19:30 ok 11-12 07:00 Website quote/contact requests -> Gmail reply DRAFTS (never sends)
social-insights cron 45 7 * * * 10-18 07:45 paused - Record reach/shares/saves per social post. Read-only; one snapshot a day so a post that keeps growing is captured at its last value, not its first.
usage-report cron 0 7 * * 1 11-09 07:01 ok 11-16 07:00 Weekly flasher usage report (D1 ee-usage) -> ~/Notes/projects/embeddedera-site/usage/YYYY-Www.md
x-post-prompt cron 30 12 * * * 11-11 12:30 ok 11-12 12:30 Daily version-pin preflight for the Story publisher: catches a Facebook/Instagram app auto-update before the version-pin guard silently blocks a job for days. P

make (5)

Job Kind Schedule Last Status Next What
erp-output-clean cron * * * * * - unknown 11-11 22:01 erp-output-clean
erp-verify cron 15 6 * * 0 11-08 06:15 ok 11-15 06:15 Weekly restore drill: pulls newest set from R2, restores the InvenTree dump into a throwaway postgres and opens the kanboard, assistant and vaultwarden sqlite c
part-refresh cron 30 5 * * 1 11-09 05:36 ok 11-16 05:30 distributor data for our parts only, budget-capped
part-watch user-timer *-*-* 04:50:00 11-11 04:56 ok 11-12 04:53 part-watch --yes — lifecycle/price findings over active-BOM MPNs ↔ Kanboard tasks (SOP-034); refreshes only records older than 7 days, inside part-lookup's da
tester-report-sync user-timer OnBootUSec=2min 11-11 21:59 ok 11-11 22:00 Refresh tester results for Grafana

engineering (2)

Job Kind Schedule Last Status Next What
engineering-deploy cron 20 * * * * 11-11 21:21 fail 11-11 22:20 engineering-deploy
kicad-check user-timer Sun *-*-* 05:30:00 11-08 05:32 findings 11-15 05:30 KiCad ERC/DRC sweep

admin (14)

Job Kind Schedule Last Status Next What
books-snapshot user-timer *-*-* *:00:00 11-11 21:01 ok 11-11 22:00 Hourly books snapshot
feedback-sync cron */15 * * * * 11-11 21:45 ok 11-11 22:15 product feedback from /api/feedback -> archive + ntfy
invoice-reminders cron 0 6-18 * * * 11-11 18:00 ok 11-12 06:00 Automatic invoice payment reminders: hourly 06-18, runs once a day at the configured hour; mode = ~/.config/assistant/invoice-reminders.mode (dry-run/live)
kanboard-cron user-timer *-*-* 07:20:00 11-11 07:20 ok 11-12 07:20 Kanboard daily cronjob
onboard-access-drift cron 5 6 * * * 11-11 06:05 ok 11-12 06:05 onboard-access-drift
onboard-access-sync cron 0 * * * * 11-11 21:00 ok 11-11 23:00 gates follow people.yml + departments.yml
quarterly-pack cron 0 7 1 1,4,7,10 * 10-01 07:00 ok 01-01 07:00 quarterly-pack — drafts SOP-015 review pack including the fresh-agent cold-read checklist
reports-sync cron 0 * * * * 11-11 21:00 ok 11-11 23:00 Grafana teams/folders follow departments.yml + people.yml
sop-audit cron 50 6 * * 1 11-09 06:51 findings 11-16 06:50 sop-audit
sop-tasks user-timer *-*-* 07:15:00 11-11 07:17 ok 11-12 07:18 sop-tasks --yes — failing sop-audit checks ↔ Kanboard tasks (SOP-017), after the 06:50 Monday audit
tasks-digest user-timer *-*-* 07:30:00 11-11 07:31 ok 11-12 07:31 Morning task digest
tasks-digest-canary user-timer *-*-* 09:30:00 11-11 09:30 ok 11-12 09:30 Morning digest canary
tasks-metrics user-timer *-*-* 23:40:00 11-10 23:44 ok 11-11 23:43 Nightly task metrics snapshot
tasks-notify user-timer *-*-* 07..21:05:00 11-11 21:05 ok 11-12 07:05 Hourly batched task notifications

systems (87)

Job Kind Schedule Last Status Next What
ai-budget-weekly user-timer Mon *-*-* 14:10:00 11-09 14:10 ok 11-16 14:10 Weekly AI burn report from ccusage → Log of projects/ai-capacity.md
ai-capacity-refresh user-timer OnBootUSec=2min 11-11 21:59 ok 11-11 22:04 Codex allowance refresh, read-only/no inference
ai-work-runner user-timer *-*-* *:15,45:00 11-11 21:45 ok 11-11 22:15 Bounded authorized AI draft/review jobs; capacity + task-digest checks; no live-source edits
anacron system-timer *-*-* 07..23:30:00 11-11 21:31 ok 11-11 22:32 Trigger anacron every hour
anacron:anacron cron 30 7-23 * * * - unknown 11-11 22:30 anacron
apport-autoreport system-timer OnStartupUSec=1h 11-11 19:39 ok 11-11 22:39 Process error reports when automatic reporting is enabled (timer based)
apt-daily system-timer *-*-* 06,18:00:00 11-11 11:45 ok 11-12 02:22 Daily apt download activities
apt-daily-upgrade system-timer *-*-* 06:00:00 11-11 06:37 ok 11-12 06:26 Daily apt upgrade and clean activities
assistant-heartbeat user-timer OnBootUSec=1min 11-11 21:59 ok 11-11 22:00 Assistant heartbeat
assistant-test cron 40 6 * * * 11-11 06:40 ok 11-12 06:40 daily canaries: the assistant must still refuse the same things
assistant.sqlite cron 10 7 * * 1 - unknown 11-16 07:10 SOP-013 weekly review
booking-warm cron */5 * * * * 11-11 21:55 ok 11-11 22:05 booking-warm: GET /api/book/slots (next 14 days) so the website's D1 busy-time cache stays under 5 min old (embeddedera-site PR #9), then POST /api/book/remin
cf-zone-baseline cron 0 4 * * 1 11-09 04:00 ok 11-16 04:00 Weekly: same safe settings on every Cloudflare zone (new brand domains included)
claude-update user-timer *-*-* 04:30:00 11-11 04:34 ok 11-12 04:32 update-claude.sh — claude update, restart claude-remote if the version changed, roll back + exit 1 if it won't start
cockpit-index cron */15 * * * * 11-11 21:45 ok 11-11 22:15 Cockpit status files for Home: jobs.json/jobs.md and now.json/NOW.md (generated, read-only collectors)
codex-auth-heal user-timer OnBootUSec=2min 11-11 21:50 ok 11-11 22:05 Check the Codex login every 15 minutes
codex-remote-control user-timer OnBootUSec=20s 11-11 21:59 ok 11-11 22:00 Start Codex remote control at boot and recover it if stopped
codex-update user-timer *-*-* 04:00:00 11-11 04:05 ok 11-12 04:13 Daily Codex updates
craft-update user-timer *-*-* 05:00:00 11-11 05:12 ok 11-12 05:09 craft-setup — upgrade the 13 storytold Craft apps, prune to current+previous
cron-watch user-timer *-*-* *:25:00 11-11 21:26 ok 11-11 22:26 Hourly check that every wrapped cron job is still running
dpkg-db-backup system-timer *-*-* 00:00:00 11-11 00:00 ok 11-12 00:00 Daily dpkg database backup timer
e2scrub_all system-timer Sun *-*-* 03:10:00 11-08 03:10 ok 11-15 03:10 e2scrub_all — no-op (LVM only, no LVs)
e2scrub_all:system cron 30 3 * * 0 - unknown 11-15 03:30 system
e2scrub_all:system#2 cron 10 3 * * * - unknown 11-12 03:10 system
erp-backup cron 15 3 * * * 11-11 03:16 ok 11-12 03:15 Off-site encrypted backup of InvenTree/listmonk/immich DBs + vaultwarden sqlite -> R2 (embeddedera-backups), 30 days kept locally. Before the 03:30 snapraid syn
fixer cron */5 * * * * 11-11 21:55 ok 11-11 22:05 fixer
fixer-prs-refresh cron */15 * * * * 11-11 21:45 ok 11-11 22:15 fixer-prs-refresh
fstrim system-timer Mon *-*-* 00:00:00 11-09 01:04 ok 11-16 01:32 Discard unused filesystem blocks once a week
fwupd-refresh system-timer *-*-* *:00:00 11-11 21:15 ok 11-11 22:45 Refresh fwupd metadata regularly
history-backup cron 50 2 * * * 11-11 02:51 ok 11-12 02:50 Versioned history of immich + EmbeddedEra into a restic repo on the pool (in parity). 02:50 = after the 02:00 Immich dump, before the 03:30 sync.
history-weekly cron 30 5 * * 0 11-08 05:30 ok 11-15 05:30 history-weekly
job-failure-report cron 20 7 * * 1 11-09 07:20 ok 11-16 07:20 job-failure-report
job-failure-sweep cron */10 * * * * 11-11 21:50 ok 11-11 22:10 Job failure handling (SOP-043): sweep for unhooked failures, escalate deferred ones, close recovered incidents; weekly summary Monday. Detection/re-run/alert/ti
job-fixer cron */30 * * * * 11-11 21:30 ok 11-11 22:30 AI job fixer, week 1 (PR only, owner approves). Kill switch: ~/.config/job-fixer.disabled. See map/processes/job-fixer.md
launchpadlib-cache-clean user-timer OnStartupUSec=5min 11-11 19:04 unknown 11-12 19:04 Clean up old files in the Launchpadlib cache
logrotate system-timer *-*-* 00:00:00 11-11 00:00 ok 11-12 00:00 Daily rotation of log files
maint-badblocks system-timer 2026-09-09 23:00:00 - unknown - One-shot: Item 17: read-only badblocks sweep of disk1 defect band
maint-dedupe system-timer 2026-09-11 08:00:00 - unknown - One-shot: Item 16 tranche B: hash and hardlink same-disk duplicate downloads
maint-drill system-timer 2026-09-09 08:00:00 - unknown - One-shot: Item 15: SnapRAID parity drill on d3 (sync, audit, undelete rehearsal)
man-db system-timer *-*-* 00:00:00 11-11 02:33 ok 11-12 04:00 Daily man-db regeneration
market-brief-meeting cron 0 8 * * 1,4 11-09 08:00 ok 11-12 08:00 owner decision meeting on the brief; map: objects/automation/schedules.md
market-brief-nag cron 0 12,17 * * 1,4 11-09 17:00 ok 11-12 12:00 market-brief-nag
market-brief-pull cron 30 7 * * 1,4 11-09 16:21 ok 11-12 07:30 cloud Market brief routine (06:30) -> notebook projects/market-brief + ntfy; map: objects/automation/schedules.md
marketing-snapshot cron 5 8 * * * 11-11 08:06 ok 11-12 08:05 Marketing page data: daily read-only snapshot (GSC, Cloudflare, Meta, Bing, Listmonk, pipeline) -> ~/.local/state/marketing/
motd-news system-timer *-*-* 00,12:00:00 11-11 16:54 ok 11-12 09:04 Message of the Day
note-release-preflight cron 20 5 * * * 11-11 05:26 ok 11-12 05:20 rescue-kit installed copy must match ~/rescue-kit (sudo install) — see map card storage/rescue-usb Build the production site with every queued note added; pages
notebook-publish user-timer OnBootUSec=5min 11-11 21:52 ok 11-11 22:02 Notebook publish
notes-daily cron 0 23 * * * 11-10 23:00 ok 11-11 23:00 Daily vault upkeep: one Sonnet pass over the day (commits + session digest) keeps map cards, memory and logs in step.
notes-nightly cron 55 23 * * * 11-10 23:55 ok 11-11 23:55 Vault: commit + push whatever changed today. Mechanical, no AI. (notes-daily at 23:00 does the AI upkeep first)
offbox-heartbeat cron */5 * * * * 11-11 21:55 ok 11-11 22:05 secret read inside the script, never logged (2026-10-15); map: objects/automation/offbox-watchdog.md
offsite-backup cron 15 5 * * * 11-11 05:15 ok 11-12 05:15 Off-site (R2, free tier guarded): business data that cannot be recreated; monthly restore drill
offsite-drill cron 45 5 1 * * 11-01 05:45 ok 12-01 05:45 offsite-drill
ops-commit cron 20 2 * * * 11-11 02:20 ok 11-12 02:20 PAUSED-SOCIAL 2026-10-16 17 */3 * * * /home/angel/.local/bin/cron-run content-approve-missing /home/angel/.local/share/assistant-venv/bin/python /home/angel/.lo
panel-photos cron */2 * * * * 11-11 21:58 ok 11-11 22:02 panel-photos: photo screensaver pictures for the wall panels — random photo from Immich album "Kitchen panel" (nightstand: "Nightstand", else kitchen), fitted
precious-sync cron 20 2 * * * 11-11 02:24 ok 11-12 02:20 precious-sync
precious-verify cron 0 5 * * 0 11-01 05:36 ok 11-15 05:00 precious-verify
push-summary cron 30 7 * * * 11-11 07:30 ok 11-12 07:30 push-summary
python cron */5 * * * * - unknown 11-11 22:05 python
qbit-killswitch cron * * * * * - unknown 11-11 22:01 qbit-killswitch
reading-weekly cron 0 8 * * 0 11-08 08:00 ok 11-15 08:00 weekly X article reading notes, map: processes/reading-weekly.md
rescue-watchdog system-timer *-*-* 09:00:00 11-11 09:03 ok 11-12 09:04 rescue-watchdog — archive age/size/device check
retention-sweep user-timer *-*-02 04:30:00 11-02 04:30 unknown 12-02 04:30 Monthly retention sweep
rsnapshot:rsnapshot cron 0 * * * * - unknown 11-11 23:00 rsnapshot
rsnapshot:rsnapshot#2 cron 30 2 * * * - unknown 11-12 02:30 rsnapshot
rsnapshot:rsnapshot#3 cron 35 2 * * 0 - unknown 11-15 02:35 rsnapshot
rsnapshot:rsnapshot#4 cron 40 2 1 * * - unknown 12-01 02:40 rsnapshot
rsnapshot:rsnapshot#5 cron 45 2 1 1 * - unknown 01-01 02:45 rsnapshot
sec-watch cron */5 * * * * 11-11 21:55 ok 11-11 22:05 sec-watch: intrusion and exposure checks, pages on a finding (SOP-049)
snap.firmware-updater.firmware-notifier user-timer *-*-* 00:00:00 11-02 21:00 ok - Timer firmware-notifier for snap application firmware-updater.firmware-notifier
snapd.snap-repair system-timer *-*-* 05,11,17,23:00:00 - unknown - Timer to automatically fetch and run repair assertions
snapraid-age cron 17 * * * * 11-11 21:17 fail 11-11 22:17 snapraid-age: parity freshness check; exit 1 when the last snapraid-sync.service run failed or the newest log ending summary:exit:ok is ≥36 h old. No root
snapraid-scrub system-timer Sun *-*-* 04:00:00 11-08 04:00 ok 11-15 04:00 SnapRAID scrub -p 12 -o 7
snapraid-sync system-timer *-*-* 03:30:00 11-11 03:30 fail 11-12 03:30 SnapRAID sync via guard → precheck → snapraid -l … sync
storage-forecast cron 0 8 * * * 11-11 08:01 ok 11-12 08:00 storage-forecast
store-backup cron 30 2 * * * 11-11 02:30 ok 11-12 02:30 store-backup = erp-backup store — production store DB dump + uploads, age-encrypted → /mnt/storage/EmbeddedEra/backups/store/ (30 d) + R2 store/<stamp>/
surfaces-check user-timer *-*-* 06:40:00 11-11 15:40 ok 11-12 06:41 Internal pages check
sysstat-collect system-timer *-*-* *:00/10:00 11-11 22:00 ok 11-11 22:10 Run system activity accounting tool every 10 minutes
sysstat-summary system-timer *-*-* 00:07:00 11-11 00:07 ok 11-12 00:07 Generate summary of yesterday's process accounting
sysstat:null cron 5-55/10 * * * * - unknown 11-11 22:05 Activity reports every 10 minutes everyday
sysstat:null#2 cron 59 23 * * * - unknown 11-11 23:59 Additional run at 23:59 to rotate the statistics file
systemd-tmpfiles-clean system-timer OnBootUSec=15min 11-11 19:14 ok 11-12 19:14 Daily Cleanup of Temporary Directories
ua-timer system-timer OnUnitActiveUSec=6h - unknown - Ubuntu Pro Timer for running repeated jobs
update-notifier-download system-timer OnStartupUSec=5min 11-11 19:04 ok 11-12 19:04 Download data for packages that failed at package install time
update-notifier-motd system-timer Sun *-*-* 06:00:00 11-08 18:07 ok 11-16 14:21 Check to see whether there is a new version of Ubuntu available
vault-push user-timer *-*-* 02:47:00 11-11 02:47 fail 11-12 02:47 vault-push — copy every ~/.config/*/env, */*.env, credentials/* file into Vaultwarden as Secure Notes "server · " (org Plex Server, account server
vpn-check cron */5 * * * * - unknown 11-11 22:05 VPN egress check → Homepage VPN tile (via hub /api/vpn-*)
wg-docker-watchdog system-timer OnBootUSec=2min 11-11 21:59 ok 11-11 22:00 restart wg-easy if stopped

oddly (17)

Job Kind Schedule Last Status Next What
pod-analyst cron 0 7 * * * 11-11 07:00 ok 11-12 07:00 pod-analyst
pod-audit cron 30 7 * * 6 11-07 07:46 ok 11-14 07:30 pod-audit
pod-calendar cron 20 5 * * 1 11-09 05:20 ok 11-16 05:20 Oddly Fitting Goods (Etsy print-on-demand), SOP-042. Off switch: ~/.config/pod-shop.disabled
pod-coach cron 45 7 * * * 11-11 07:45 ok 11-12 07:45 pod-coach
pod-day cron 30 5 * * * 11-11 05:30 ok 11-12 05:30 pod-day
pod-gm cron 15 7 * * 1 11-09 07:15 ok 11-16 07:15 pod-gm
pod-golive cron */15 * * * * 11-11 21:45 ok 11-11 22:15 pod-golive
pod-laser-cleanup cron 15 3 * * * 11-11 03:15 ok 11-12 03:15 pod-laser-cleanup
pod-laser-orders cron 5,35 8-21 * * * 11-11 21:35 ok 11-12 08:05 pod-laser-orders
pod-merch cron 30 8 * * * 11-11 08:30 ok 11-12 08:30 pod-merch
pod-orders cron 0 8,18 * * * 11-11 18:00 ok 11-12 08:00 pod-orders
pod-pin-feeds cron 45 9,18 * * * 11-11 18:46 ok 11-12 09:45 pod-pin-feeds
pod-pins cron 0 10 * * * 11-11 10:00 ok 11-12 10:00 pod-pins
pod-publish cron 0 9 * * * 11-11 09:00 ok 11-12 09:00 pod-publish
pod-research cron 0 20 * * 0 11-08 20:11 ok 11-15 20:00 pod-research
pod-scoreboard cron 50 7 * * * 11-11 07:50 ok 11-12 07:50 pod-scoreboard
pod-scout cron 0 6,9,12,15,18,21 * * * 11-11 21:00 ok 11-12 06:00 pod-scout

personal (5)

Job Kind Schedule Last Status Next What
stairs-season cron 5 * * * * 11-11 21:05 ok 11-11 22:05 stairs-season: updated 2026-10-31 for 15 stair zones: bottom GPIO33 starts native Up60, top GPIO2 Down61; first3 entry stairs together, then add remaining sta
stairs-season#2 cron @reboot sleep 180; /home/angel/.local/bin/cron-run stairs-season - unknown - stairs-season: updated 2026-10-31 for 15 stair zones: bottom GPIO33 starts native Up60, top GPIO2 Down61; first3 entry stairs together, then add remaining sta
training-evening cron 0 21 * * * 11-11 21:00 ok 11-12 21:00 Adaptive Garmin -> Calendar training scheduler (local times, follows DST)
training-morning cron 10 6 * * * 11-11 06:10 ok 11-12 06:10 training-morning
training-prealarm cron 45 3 * * * 11-11 03:45 ok 11-12 03:45 training-prealarm