SPB Git forge

spb/polyllm

Public
15commits 1branches 0releases
2.2 MBsize
maindefault branch
13 days agolast push
TypeScript 97.4% SQL 1% JavaScript 0.9% CSS 0.6%
1.5 KB · 29 lines shellscript
Raw Blame History
1#!/bin/bash2# Installs the daily PostgreSQL backup for PolyLLM on the deployment node (run ON the node).3set -euo pipefail4mkdir -p ~/backups/polyllm ~/Library/LaunchAgents5cat > ~/backups/polyllm/backup.sh <<'SH'6#!/bin/bash7set -euo pipefail8export PATH="/opt/homebrew/opt/postgresql@17/bin:/opt/homebrew/bin:$PATH"9out=~/backups/polyllm/polyllm-$(date +%Y%m%d).sql.gz10pg_dump polyllm | gzip -9 > "$out.tmp" && mv "$out.tmp" "$out"11find ~/backups/polyllm -name 'polyllm-*.sql.gz' -mtime +14 -delete12echo "$(date -Iseconds) ok $(du -h "$out" | cut -f1)" >> ~/backups/polyllm/backup.log13SH14chmod +x ~/backups/polyllm/backup.sh15cat > ~/Library/LaunchAgents/dev.polyllm.backup.plist <<PLIST16<?xml version="1.0" encoding="UTF-8"?>17<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">18<plist version="1.0"><dict>19  <key>Label</key><string>dev.polyllm.backup</string>20  <key>ProgramArguments</key><array><string>/bin/bash</string><string>$HOME/backups/polyllm/backup.sh</string></array>21  <key>StartCalendarInterval</key><dict><key>Hour</key><integer>3</integer><key>Minute</key><integer>45</integer></dict>22  <key>StandardOutPath</key><string>$HOME/backups/polyllm/launchd.log</string>23  <key>StandardErrorPath</key><string>$HOME/backups/polyllm/launchd.log</string>24</dict></plist>25PLIST26launchctl bootout gui/$(id -u)/dev.polyllm.backup 2>/dev/null || true27launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/dev.polyllm.backup.plist28~/backups/polyllm/backup.sh && echo "backup installed + first dump done"29