Initial version of JR IT backup of internal backend.

This commit is contained in:
2026-02-02 08:37:51 +01:00
commit 144de4f393
10 changed files with 969 additions and 0 deletions

43
install.sh Executable file
View File

@@ -0,0 +1,43 @@
#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
echo "-- Installing app-backup..."
sudo mkdir -p /etc/app-backup
sudo mkdir -p /usr/local/sbin
sudo mkdir -p /var/log/app-backup
sudo mkdir -p /var/backups/app-backup
# Scripts
sudo install -m 0750 -o root -g root "$ROOT_DIR/usr-local-sbin/app-backup.sh" /usr/local/sbin/app-backup.sh
sudo install -m 0750 -o root -g root "$ROOT_DIR/usr-local-sbin/app-restore.sh" /usr/local/sbin/app-restore.sh
# Config (copy once)
if [[ ! -f /etc/app-backup/app-backup.conf ]]; then
sudo install -m 0640 -o root -g root "$ROOT_DIR/etc/app-backup/app-backup.conf" /etc/app-backup/app-backup.conf
echo " - installed /etc/app-backup/app-backup.conf (please adjust paths/db names)"
else
echo " - /etc/app-backup/app-backup.conf exists, not overwriting"
fi
# DB examples (do not overwrite real files)
sudo install -m 0640 -o root -g root "$ROOT_DIR/etc/app-backup/db-wordpress.cnf.example" /etc/app-backup/db-wordpress.cnf.example
sudo install -m 0640 -o root -g root "$ROOT_DIR/etc/app-backup/db-nextcloud.cnf.example" /etc/app-backup/db-nextcloud.cnf.example
# systemd
sudo install -m 0644 -o root -g root "$ROOT_DIR/systemd/app-backup.service" /etc/systemd/system/app-backup.service
sudo install -m 0644 -o root -g root "$ROOT_DIR/systemd/app-backup.timer" /etc/systemd/system/app-backup.timer
# logrotate
sudo install -m 0644 -o root -g root "$ROOT_DIR/logrotate/app-backup" /etc/logrotate.d/app-backup
sudo systemctl daemon-reload
sudo systemctl enable --now app-backup.timer
echo "-- Done."
echo "Next steps:"
echo "1) Adjust /etc/app-backup/app-backup.conf"
echo "2) Create DB cnf files from examples (chmod 600, root:root)"
echo "3) Ensure rclone works as root: sudo rclone lsd onedrive:"
echo "4) Test run: sudo systemctl start app-backup.service"