mirror of
https://codeberg.org/PostERG/xamxam.git
synced 2026-09-25 01:53:03 +02:00
admin: backup logs via parameters.php, nextcloud secondary backup
- surface backup/cleanup cron logs + backup freshness status - email xamxam@erg.be when SQLite backups go stale (backup watchdog) - sync SQLite snapshots to Nextcloud WebDAV + remote-freshness watchdog - precise retention pruning, manual sync in check recipe, and Nextcloud-sync docs
This commit is contained in:
@@ -359,6 +359,14 @@ deploy-backup-script:
|
||||
rsync -v scripts/backup-sqlite.sh xamxam:/tmp/backup-sqlite.sh
|
||||
ssh -t xamxam "sudo install -o root -g root -m 755 /tmp/backup-sqlite.sh /usr/local/bin/backup-sqlite.sh && rm -f /tmp/backup-sqlite.sh"
|
||||
@echo "✅ backup-sqlite.sh installed to /usr/local/bin/"
|
||||
@echo "📋 Deploying backup watchdog…"
|
||||
rsync -v scripts/backup-watchdog.php xamxam:/tmp/backup-watchdog.php
|
||||
ssh -t xamxam "sudo install -o root -g root -m 755 /tmp/backup-watchdog.php /usr/local/bin/backup-watchdog.php && rm -f /tmp/backup-watchdog.php"
|
||||
@echo "✅ backup-watchdog.php installed to /usr/local/bin/"
|
||||
@echo "📋 Deploying Nextcloud sync…"
|
||||
rsync -v scripts/nextcloud-sync.php xamxam:/tmp/nextcloud-sync.php
|
||||
ssh -t xamxam "sudo install -o root -g root -m 755 /tmp/nextcloud-sync.php /usr/local/bin/nextcloud-sync.php && rm -f /tmp/nextcloud-sync.php"
|
||||
@echo "✅ nextcloud-sync.php installed to /usr/local/bin/"
|
||||
|
||||
[group('deploy')]
|
||||
deploy-backup-cron:
|
||||
@@ -382,8 +390,22 @@ deploy-backup: deploy-backup-script deploy-backup-cron
|
||||
# One-shot: deploy backup script + install cron jobs + set up directories.
|
||||
|
||||
[group('deploy')]
|
||||
deploy-check-backup-log:
|
||||
deploy-check-backup-log sync='':
|
||||
# Tail the backup log, then optionally run the Nextcloud sync manually.
|
||||
# Usage: `just deploy-check-backup-log` (tail only) or `just deploy-check-backup-log 1` (tail + sync).
|
||||
ssh xamxam "tail -20 /var/log/xamxam-backup-\$(date +%Y-%m-%d).log 2>/dev/null || echo '(log file empty or missing — will be created on first cron run)'"
|
||||
# Accept both `1` and `sync=1` for convenience; anything non-empty other than
|
||||
# the literal "sync=1" positional string is also treated as a truthy request.
|
||||
@case "{{sync}}" in \
|
||||
1|sync|sync=1) \
|
||||
echo "===== Running manual Nextcloud sync ====="; \
|
||||
ssh -t xamxam "sudo -u www-data php /usr/local/bin/nextcloud-sync.php; echo exit=\$?";; \
|
||||
''|0|no) \
|
||||
echo "(sync skipped — pass 1 to also run it)";; \
|
||||
*) \
|
||||
echo "===== Running manual Nextcloud sync ====="; \
|
||||
ssh -t xamxam "sudo -u www-data php /usr/local/bin/nextcloud-sync.php; echo exit=\$?";; \
|
||||
esac
|
||||
|
||||
[group('deploy')]
|
||||
deploy-list-backups:
|
||||
|
||||
Reference in New Issue
Block a user