diff --git a/.gitignore b/.gitignore index c0d34fd..b89c378 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,9 @@ # Environment variables (secrets) .env -# SQLite database -data/ +# SQLite WAL/SHM temp files +data/*.db-wal +data/*.db-shm # SSL CA cert (local only) ca.crt diff --git a/backup.sh b/backup.sh new file mode 100755 index 0000000..0da5d13 --- /dev/null +++ b/backup.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Daily backup of Dispensa database to GitHub +# Runs via cron: commits and pushes data/dispensa.db + +cd /var/www/html/dispensa || exit 1 + +# Only commit if there are actual changes +if git diff --quiet data/ 2>/dev/null && git diff --cached --quiet data/ 2>/dev/null; then + # Check for untracked files in data/ + if [ -z "$(git ls-files --others --exclude-standard data/)" ]; then + exit 0 # Nothing changed + fi +fi + +DATE=$(date '+%Y-%m-%d %H:%M') +git add data/dispensa.db +git commit -m "📦 Backup database automatico - $DATE" +git push diff --git a/data/dispensa.db b/data/dispensa.db new file mode 100644 index 0000000..d4793b8 Binary files /dev/null and b/data/dispensa.db differ