Shimmering Obsidian includes a built-in vault backup command that compresses your entire vault into a timestamped zip archive and moves it to a folder of your choice — no third-party software required. A configurable rotation limit ensures old backups are automatically pruned so your backup folder never grows unbounded.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/chrisgrieser/shimmering-obsidian/llms.txt
Use this file to discover all available pages before exploring further.
Running a Backup
Typeobackup in Alfred and press ⏎. The workflow immediately compresses your vault and saves the archive to your configured backup destination. A notification confirms the backup path once it completes.
How It Works
The backup script runs the following steps in sequence:Compress the vault
The entire vault directory is compressed into a zip file named
Obsidian-Backup_YYYY-MM-DD_HH-MM.zip. The timestamp in the filename makes
it easy to identify when each backup was taken.Move the archive
The zip file is moved to the folder you specified in
backup_destination
inside the workflow configuration. The destination folder is created
automatically if it does not already exist.What is included and excluded
| Item | Included in backup |
|---|---|
| All notes and attachments | ✅ Yes |
.obsidian config folder | ✅ Yes |
.trash folder | ✅ Yes |
.git folder | ❌ No |
.git folder is deliberately excluded to keep archive sizes manageable. If you need git history preserved, commit and push to a remote repository separately.
Configuration
Set these two values in the workflow’s configuration panel (Alfred Preferences → Workflows → Shimmering Obsidian → Configure Workflow):| Variable | Description |
|---|---|
backup_destination | Absolute or tilde-prefixed path to the folder where backups are stored (e.g. ~/Backups/Obsidian) |
max_number_of_bkps | Maximum number of backup archives to keep before the oldest is deleted |
Automating Backups
For hands-free scheduled backups, you can triggerobackup programmatically using Alfred’s External Trigger via AppleScript. This makes it straightforward to wire the backup into launchd, a Cron job, or a Keyboard Maestro macro.
no sound as the trigger argument:
- launchd — macOS’s native job scheduler; suitable for time-based or interval-based triggers without any additional software.
- Cron jobs — the classic Unix scheduler, available in macOS via
crontab -e. - Keyboard Maestro — a macOS automation app that can trigger the AppleScript above on a schedule, on application quit, or on any other event it supports.
