Initial version of JR IT backup of internal backend.
This commit is contained in:
43
install.sh
Executable file
43
install.sh
Executable 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"
|
||||
Reference in New Issue
Block a user